packages.nix (2801B)
1 { pkgs }: 2 let 3 fetchSucklessRepo = repo: hash: pkgs.fetchgit { 4 url = "git://popovic.xyz/${repo}.git"; 5 inherit hash; 6 }; 7 8 suckless = with pkgs; { 9 dwm = dwm.overrideAttrs (old: { 10 src = fetchSucklessRepo "dwm" "sha256-Yp70Juv/5V23PY+55Qa1JCudtoygFHrcTuhFHQgWGWo="; 11 buildInputs = old.buildInputs ++ [ xorg.libxcb ]; 12 }); 13 14 st = st.overrideAttrs (old: { 15 src = fetchSucklessRepo "st" "sha256-RYWB2LmEAafQUXhhtKi+7iJ6Ey5qLyTjjfLwOvNhu6U="; 16 }); 17 18 dmenu = dmenu.overrideAttrs (old: { 19 src = fetchSucklessRepo "dmenu" "sha256-YPtt7+wMickAYs271+lgKaUlWjxPwnsOJmaN/BS3ZzU="; 20 }); 21 22 slock = slock.overrideAttrs (old: { 23 src = fetchSucklessRepo "slock" "sha256-3FWgl5IfiiCCXmM5b2eIEV6lAX4ioLjCdOp5vKrsjZg="; 24 buildInputs = old.buildInputs ++ (with xorg; [ libXinerama imlib2 libxft ]); 25 }); 26 27 dwmblocks = dwmblocks.overrideAttrs (old: { 28 src = fetchSucklessRepo "dwmblocks" "sha256-08Afj+djz37J16Uz9jnl2iBwd/h4N11UU9nBvfkzVsU="; 29 }); 30 }; 31 in 32 with pkgs; { 33 system = [ 34 home-manager 35 nix 36 just 37 htop 38 sops 39 direnv 40 ]; 41 42 shell = [ 43 zsh 44 zsh-fast-syntax-highlighting 45 zsh-system-clipboard 46 tmux 47 neovim 48 ]; 49 50 cli = [ 51 pass 52 ripgrep 53 fzf 54 wget 55 curl 56 tree 57 fd 58 zip 59 unzip 60 rsync 61 bzip2 62 killall 63 zbar 64 pstree 65 ]; 66 67 network = [ 68 whois 69 nmap 70 wireguard-tools 71 nextcloud-client 72 tigervnc 73 ]; 74 75 xorg = [ 76 dunst 77 libnotify 78 xclip 79 feh 80 redshift 81 xidlehook 82 xcompmgr 83 xdotool 84 xkblayout-state 85 devour 86 power-profiles-daemon 87 pavucontrol 88 pamixer 89 90 #fonts 91 noto-fonts-color-emoji 92 font-awesome 93 noto-fonts 94 ] ++ (with suckless; [ dwm st dmenu slock dwmblocks ]); 95 96 media = [ 97 mpv 98 vlc 99 spotify 100 gimp 101 sxiv 102 inkscape 103 imagemagick 104 mediainfo 105 transmission_4 106 ]; 107 108 communication = [ 109 discord 110 telegram-desktop 111 ]; 112 113 fileManagement = [ 114 nautilus 115 lf 116 file 117 poppler-utils 118 gnome-epub-thumbnailer 119 atool 120 odt2txt 121 djvulibre 122 ueberzugpp 123 zathura 124 zathuraPkgs.zathura_ps 125 zathuraPkgs.zathura_cb 126 zathuraPkgs.zathura_djvu 127 zathuraPkgs.zathura_pdf_mupdf 128 ]; 129 130 office = [ 131 groff 132 libreoffice-fresh 133 ]; 134 135 email = [ 136 neomutt 137 msmtp 138 isync 139 abook 140 lynx 141 ]; 142 143 development = [ 144 # tools 145 gh 146 tree-sitter 147 python313Packages.tiktoken 148 luajitPackages.jsregexp 149 150 # Debuggers and tools 151 gdb 152 153 # Language servers 154 nil 155 marksman 156 157 # Build tools 158 cmake 159 gnumake 160 gcc 161 162 # Languages and runtimes 163 nodejs 164 luarocks 165 javaPackages.compiler.openjdk25 166 lua5_1 167 go 168 ruby 169 gem 170 php 171 julia-bin 172 python3 173 python313Packages.pip 174 rustup 175 ]; 176 }