flake

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

default.nix (4083B)


      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       backgroundImage = ../background.png;
    134       colors =
    135         let
    136           colors = import ../colors.nix;
    137         in
    138         {
    139           inherit (colors)
    140             background
    141             foreground
    142             darkRed
    143             green
    144             red
    145             ;
    146         };
    147     };
    148     vis = {
    149       enable = true;
    150     };
    151   };
    152 
    153   home = {
    154     file.".mkshrc".text = ''
    155       PS1="${"$"}{USER}@$(${pkgs.sbase}/bin/hostname):\${"$"}{PWD} $ "
    156     '';
    157     packages = [
    158       pkgs.alsa-utils
    159       pkgs.ffmpeg
    160       pkgs.dig
    161       pkgs.gimp
    162       pkgs.imv
    163       pkgs.librewolf-bin
    164       pkgs.lilypond
    165       pkgs.man-pages-posix
    166       pkgs.md2pdf
    167       pkgs.mpv
    168       pkgs.nixos-anywhere
    169       pkgs.nmap
    170       pkgs.noice
    171       pkgs.qrcode
    172       pkgs.sent
    173       pkgs.timidity
    174       pkgs.watchmate
    175       pkgs.zathura
    176     ];
    177   };
    178 }