default.nix (6129B) - Raw
1 { 2 lib, 3 pkgs, 4 config, 5 ... 6 }: 7 let 8 inherit (config.mj) username; 9 in 10 { 11 imports = [ 12 ../linuxdesktop 13 ../devtools 14 ]; 15 16 config = { 17 18 documentation = { 19 dev.enable = true; 20 doc.enable = true; 21 info.enable = true; 22 man = { 23 enable = true; 24 man-db.enable = false; 25 mandoc.enable = true; 26 }; 27 }; 28 29 programs = { 30 ladybird.enable = true; 31 }; 32 33 services = { 34 xserver = { 35 windowManager.awesome.enable = true; 36 }; 37 38 displayManager = { 39 defaultSession = lib.mkDefault "none+awesome"; 40 }; 41 }; 42 43 environment.systemPackages = 44 with pkgs; 45 [ 46 rr 47 wrk2 48 pdal 49 gdal 50 poop 51 flex 52 bison 53 tracy 54 mbpoll # modbus poll 55 kicad 56 esptool 57 claudes 58 neomutt 59 freecad 60 chromium 61 binutils 62 openscad 63 patchelf 64 valgrind 65 musl.dev 66 qgis-ltr 67 bpftrace 68 cppcheck 69 wasmtime 70 distrobox 71 postgresql 72 bubblewrap 73 glabels-qt 74 borgbackup 75 joplin-desktop 76 sweethome3d.application 77 #diffoscope # broken on 2025-09-28, not used much 78 wineWowPackages.full 79 openorienteering-mapper 80 81 (texlive.combine { 82 inherit (texlive) 83 lithuanian 84 scheme-medium 85 hyphen-lithuanian 86 collection-binextra 87 collection-bibtexextra 88 collection-latexextra 89 collection-publishers 90 ; 91 }) 92 ] 93 ++ (with llvmPackages_20; [ 94 clang 95 lld.dev 96 llvm.dev 97 clang-tools 98 libllvm.dev 99 libclang.dev 100 llvm-manpages 101 clang-manpages 102 compiler-rt.dev 103 ]); 104 105 home-manager.users.${username} = 106 { pkgs, ... }: 107 { 108 xdg.configFile = { 109 "awesome/rc.lua".source = ../linuxdesktop/rc.lua; 110 "gdb/gdbinit".text = '' 111 set style address foreground yellow 112 set style function foreground cyan 113 set style string foreground magenta 114 ''; 115 }; 116 117 programs = { 118 msmtp.enable = true; 119 mbsync.enable = true; 120 neomutt.enable = true; 121 notmuch.enable = true; 122 123 tmux.extraConfig = 124 let 125 cmd = "${pkgs.extract_url}/bin/extract_url"; 126 cfg = pkgs.writeText "urlviewrc" "COMMAND systemd-run --user --collect xdg-open %s"; 127 in 128 '' 129 bind-key u capture-pane -J \; \ 130 save-buffer /tmp/tmux-buffer \; \ 131 delete-buffer \; \ 132 split-window -l 10 "${cmd} -c ${cfg} /tmp/tmux-buffer" 133 ''; 134 }; 135 136 accounts.email = { 137 maildirBasePath = "Maildir"; 138 139 accounts.mj = { 140 primary = true; 141 userName = "motiejus@jakstys.lt"; 142 address = "motiejus@jakstys.lt"; 143 realName = "Motiejus Jakštys"; 144 passwordCommand = "cat /home/${username}/.mail-appcode"; 145 imap.host = "imap.gmail.com"; 146 smtp.host = "smtp.gmail.com"; 147 148 mbsync = { 149 enable = true; 150 create = "maildir"; 151 patterns = [ 152 "*" 153 "![Gmail]/All Mail" 154 ]; 155 }; 156 157 msmtp = { 158 enable = true; 159 }; 160 161 notmuch = { 162 enable = true; 163 neomutt.enable = true; 164 }; 165 166 neomutt = { 167 enable = true; 168 extraConfig = '' 169 set index_format="%4C %Z %{%F %H:%M} %-15.15L (%?l?%4l&%4c?) %s" 170 171 set mailcap_path = ${pkgs.writeText "mailcaprc" '' 172 text/html; ${pkgs.elinks}/bin/elinks -dump ; copiousoutput; 173 application/*; ${pkgs.xdg-utils}/bin/xdg-open %s &> /dev/null &; 174 image/*; ${pkgs.xdg-utils}/bin/xdg-open %s &> /dev/null &; 175 ''} 176 auto_view text/html 177 unset record 178 set send_charset="utf-8" 179 180 macro attach 'V' "<pipe-entry>iconv -c --to-code=UTF8 > ~/.cache/mutt/mail.html<enter><shell-escape>firefox ~/.cache/mutt/mail.html<enter>" 181 macro index,pager \cb "<pipe-message> env BROWSER=firefox urlscan<Enter>" "call urlscan to extract URLs out of a message" 182 macro attach,compose \cb "<pipe-entry> env BROWSER=firefox urlscan<Enter>" "call urlscan to extract URLs out of a message" 183 184 set sort_browser=date 185 set sort=reverse-threads 186 set sort_aux=last-date-received 187 188 bind pager g top 189 bind pager G bottom 190 bind attach,index g first-entry 191 bind attach,index G last-entry 192 bind attach,index,pager \CD half-down 193 bind attach,index,pager \CU half-up 194 bind attach,index,pager \Ce next-line 195 bind attach,index,pager \Cy previous-line 196 bind index,pager B sidebar-toggle-visible 197 bind index,pager R group-reply 198 199 set sidebar_visible = yes 200 set sidebar_width = 15 201 bind index,pager \Cp sidebar-prev 202 bind index,pager \Cn sidebar-next 203 bind index,pager \Co sidebar-open 204 bind index,pager B sidebar-toggle-visible 205 set sidebar_short_path = yes 206 set sidebar_delim_chars = '/' 207 set sidebar_format = '%B%* %?N?%N?' 208 set mail_check_stats 209 set postponed="+[Gmail]/Drafts" 210 mailboxes =btrfs 211 mailboxes =Debian 212 mailboxes =alerts 213 mailboxes ="[Gmail]/Drafts" 214 mailboxes ="[Gmail]/Starred" 215 mailboxes ="[Gmail]/Sent Mail" 216 217 source ${../linuxdesktop/notmuch-colors.muttrc} 218 ''; 219 }; 220 }; 221 }; 222 }; 223 }; 224 }