flake

Francesco Saccone's Nix flake.
git clone git://git.francescosaccone.com/flake
Log | Files | Refs | README | LICENSE

default.nix (3541B)


      1 {
      2   config,
      3   pkgs,
      4   inputs,
      5   ...
      6 }:
      7 {
      8   modules = rec {
      9     aerc = {
     10       enable = true;
     11       email = {
     12         address = "francesco@francescosaccone.com";
     13         folders = {
     14           drafts = "Drafts";
     15           inbox = "INBOX";
     16           sent = "Sent";
     17           trash = "Trash";
     18         };
     19         imapHost = "glacier.mxrouting.net";
     20         imapTlsPort = 993;
     21         passwordCommand = ''
     22           ${pkgs.pass}/bin/pass show email/francesco/password
     23         '';
     24         realName = "Francesco Saccone";
     25         smtpHost = "glacier.mxrouting.net";
     26         smtpTlsPort = 465;
     27         username = "francesco%40francescosaccone.com";
     28       };
     29     };
     30     amfora = {
     31       enable = true;
     32       certificates = [
     33         {
     34           host = "bbs.geminispace.org";
     35           certificate = ./gemini/cert.pem;
     36           gpgEncryptedKey = ./gemini/key.pem.gpg;
     37         }
     38       ];
     39     };
     40     git = {
     41       enable = true;
     42       name = "Francesco Saccone";
     43       email = "francesco@francescosaccone.com";
     44     };
     45     gpg = {
     46       enable = true;
     47       primaryKey = {
     48         fingerprint = "2BE025D27B449E55B320C44209F39C4E70CB2C24";
     49         file = inputs.openpgp-key;
     50       };
     51     };
     52     pass = {
     53       enable = true;
     54       passwordStoreDirectory = inputs.password-store;
     55     };
     56     newsraft = {
     57       enable = true;
     58       feeds = {
     59         "Italy" = [
     60           {
     61             name = "ANSA";
     62             url = "https://www.ansa.it/sito/ansait_rss.xml";
     63           }
     64           {
     65             name = "Fanpage";
     66             url = "https://www.fanpage.it/feed";
     67           }
     68           {
     69             name = "Libero Quotidiano";
     70             url = "https://www.liberoquotidiano.it/rss.xml";
     71           }
     72           {
     73             name = "Repubblica.it";
     74             url = "https://www.repubblica.it/rss/homepage/rss2.0.xml";
     75           }
     76         ];
     77         "Technology" = [
     78           {
     79             name = "Dark Reading";
     80             url = "https://www.darkreading.com/rss.xml";
     81           }
     82           {
     83             name = "The Hacker News";
     84             url = "https://feeds.feedburner.com/TheHackersNews";
     85           }
     86         ];
     87         "World" = [
     88           {
     89             name = "CNN International";
     90             url = "http://rss.cnn.com/rss/edition.rss";
     91           }
     92           {
     93             name = "The Washington Post World";
     94             url = "https://feeds.washingtonpost.com/rss/world";
     95           }
     96         ];
     97         "YouTube" =
     98           [
     99             {
    100               name = "Mental Outlaw";
    101               id = "UC7YOGHUfC1Tb6E4pudI9STA";
    102             }
    103             {
    104               name = "Linus Tech Tips";
    105               id = "UCXuqSBlHAE6Xw-yeJA0Tunw";
    106             }
    107             {
    108               name = "The Game Theorists";
    109               id = "UCo_IB5145EVNcf8hw1Kku7w";
    110             }
    111             {
    112               name = "Veritasium";
    113               id = "UCHnyfMqiRRG1u-2MsSQLbXA";
    114             }
    115           ]
    116           |> builtins.map (
    117             { name, id }:
    118             {
    119               inherit name;
    120               url = "https://youtube.com/feeds/videos.xml?channel_id=${id}";
    121             }
    122           );
    123       };
    124     };
    125     sway = {
    126       enable = true;
    127       bar = {
    128         enable = true;
    129       };
    130       fonts = {
    131         monospace = "IBM Plex Mono";
    132       };
    133     };
    134     vis = {
    135       enable = true;
    136     };
    137   };
    138 
    139   home.packages = with pkgs; [
    140     alsa-utils
    141     ffmpeg
    142     dig
    143     imv
    144     librewolf-bin
    145     lilypond
    146     man-pages-posix
    147     md2pdf
    148     mpv
    149     nixos-anywhere
    150     nmap
    151     noice
    152     sent
    153     timidity
    154     watchmate
    155     zathura
    156   ];
    157 }