nixconf

nixos dots
git clone git://popovic.xyz/nixos.config.git
Log | Files | Refs

packages.nix (3294B)


      1 { pkgs, isDarwin }:
      2 let
      3   fetchSucklessRepo =
      4     repo: hash:
      5     pkgs.fetchgit {
      6       url = "git://popovic.xyz/${repo}.git";
      7       inherit hash;
      8     };
      9 
     10   suckless = with pkgs; {
     11     dwm = dwm.overrideAttrs (old: {
     12       src = fetchSucklessRepo "dwm" "sha256-Hj985b6fRcYZm49Sd6188OewhCrBk5N0uWwQF3q7TH0=";
     13       buildInputs = old.buildInputs ++ [ libxcb ];
     14     });
     15 
     16     st = st.overrideAttrs (old: {
     17       src = fetchSucklessRepo "st" "sha256-RYWB2LmEAafQUXhhtKi+7iJ6Ey5qLyTjjfLwOvNhu6U=";
     18     });
     19 
     20     dmenu = dmenu.overrideAttrs (old: {
     21       src = fetchSucklessRepo "dmenu" "sha256-YPtt7+wMickAYs271+lgKaUlWjxPwnsOJmaN/BS3ZzU=";
     22     });
     23 
     24     slock = slock.overrideAttrs (old: {
     25       src = fetchSucklessRepo "slock" "sha256-4cKVyYRqgv9YGYYHFzzkIoJhdMlzb5GC72RQsCSEbG0=";
     26       buildInputs =
     27         old.buildInputs
     28         ++ (with xorg; [
     29           libxinerama
     30           imlib2
     31           libxft
     32         ]);
     33     });
     34 
     35     dwmblocks = dwmblocks.overrideAttrs (old: {
     36       src = fetchSucklessRepo "dwmblocks" "sha256-08Afj+djz37J16Uz9jnl2iBwd/h4N11UU9nBvfkzVsU=";
     37     });
     38   };
     39 in
     40 with pkgs;
     41 {
     42   system = [
     43     home-manager
     44     nix
     45     just
     46     htop
     47     sops
     48     direnv
     49   ];
     50 
     51   shell = [
     52     zsh
     53     zsh-fast-syntax-highlighting
     54     zsh-system-clipboard
     55     tmux
     56     neovim
     57   ];
     58 
     59   wayland = [
     60     swaybg
     61     swaylock
     62     xwayland-satellite
     63     fuzzel
     64     dmenu-wayland
     65     wl-clipboard
     66     grim
     67     mako
     68     swayidle
     69   ];
     70 
     71   cli = [
     72     (pass.withExtensions (exts: [ exts.pass-otp ]))
     73     ripgrep
     74     fzf
     75     wget
     76     curl
     77     tree
     78     fd
     79     zip
     80     unzip
     81     bzip2
     82     killall
     83     zbar
     84     pstree
     85     bat
     86     gptfdisk
     87     qrencode
     88     jq
     89     lazygit
     90   ];
     91 
     92   network = [
     93     whois
     94     nmap
     95     wireguard-tools
     96   ]
     97   ++ lib.optionals (!isDarwin) [
     98     nextcloud-client
     99     tigervnc
    100   ];
    101 
    102   xorg = [
    103     xclip
    104     feh
    105     redshift
    106     xidlehook
    107     xcompmgr
    108     xdotool
    109     scrot
    110   ]
    111   ++ (with suckless; [
    112     dwm
    113     st
    114     dmenu
    115     slock
    116     dwmblocks
    117   ]);
    118 
    119   fonts = [
    120     noto-fonts-color-emoji
    121     font-awesome
    122     noto-fonts
    123   ];
    124 
    125   media = [
    126     mpv
    127     spotify
    128     inkscape
    129     imagemagick
    130     ghostscript
    131     pandoc
    132     mediainfo
    133     transmission_4
    134   ]
    135   ++ lib.optionals (!isDarwin) [
    136     vlc
    137     sxiv
    138     gimp
    139     chromium
    140     power-profiles-daemon
    141     libnotify
    142     pavucontrol
    143     xkblayout-state
    144     cryptsetup
    145     rsync
    146     devour
    147     pamixer
    148     pulseaudio
    149     dunst
    150   ];
    151 
    152   communication = [
    153     discord
    154     telegram-desktop
    155   ];
    156 
    157   fileManagement = [
    158     lf
    159     file
    160     ffmpegthumbnailer
    161     poppler-utils
    162     atool
    163     odt2txt
    164     djvulibre
    165     ueberzugpp
    166     zathura
    167     zathuraPkgs.zathura_ps
    168     zathuraPkgs.zathura_cb
    169     zathuraPkgs.zathura_djvu
    170     zathuraPkgs.zathura_pdf_mupdf
    171   ]
    172   ++ lib.optionals (!isDarwin) [
    173     nautilus
    174     gnome-epub-thumbnailer
    175   ];
    176 
    177   office = [
    178     groff
    179     texliveFull
    180   ]
    181   ++ lib.optionals (!isDarwin) [
    182     libreoffice-fresh
    183   ];
    184 
    185   email = [
    186     neomutt
    187     msmtp
    188     isync
    189     abook
    190     lynx
    191   ];
    192 
    193   development = [
    194     gh
    195     tree-sitter
    196     python313Packages.tiktoken
    197     luajitPackages.jsregexp
    198 
    199     nil
    200     marksman
    201     nodejs
    202     pnpm
    203 
    204     cmake
    205     gnumake
    206     gcc
    207 
    208     luarocks
    209     javaPackages.compiler.openjdk17
    210     lua5_1
    211     go
    212     ruby
    213     php
    214     julia-bin
    215     python3
    216     python313Packages.pip
    217     rustup
    218   ];
    219 }