nixconf

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

packages.nix (3366B)


      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     localsend
     97   ]
     98   ++ lib.optionals (!isDarwin) [
     99     uxplay
    100     localsend
    101     nextcloud-client
    102     tigervnc
    103   ];
    104 
    105   xorg = [
    106     xclip
    107     feh
    108     redshift
    109     xidlehook
    110     xcompmgr
    111     xdotool
    112     scrot
    113   ]
    114   ++ (with suckless; [
    115     dwm
    116     st
    117     dmenu
    118     slock
    119     dwmblocks
    120   ]);
    121 
    122   fonts = [
    123     noto-fonts-color-emoji
    124     font-awesome
    125     noto-fonts
    126   ];
    127 
    128   media = [
    129     mpv
    130     spotify
    131     inkscape
    132     imagemagick
    133     ghostscript
    134     pandoc
    135     mediainfo
    136     transmission_4
    137   ]
    138   ++ lib.optionals (!isDarwin) [
    139     vlc
    140     sxiv
    141     gimp
    142     chromium
    143     power-profiles-daemon
    144     libnotify
    145     pavucontrol
    146     xkblayout-state
    147     cryptsetup
    148     rsync
    149     devour
    150     pamixer
    151     pulseaudio
    152     dunst
    153   ];
    154 
    155   communication = [
    156     discord
    157     telegram-desktop
    158   ];
    159 
    160   fileManagement = [
    161     lf
    162     file
    163     ffmpegthumbnailer
    164     poppler-utils
    165     atool
    166     odt2txt
    167     djvulibre
    168     ueberzugpp
    169     zathura
    170     zathuraPkgs.zathura_ps
    171     zathuraPkgs.zathura_cb
    172     zathuraPkgs.zathura_djvu
    173     zathuraPkgs.zathura_pdf_mupdf
    174   ]
    175   ++ lib.optionals (!isDarwin) [
    176     nautilus
    177     gnome-epub-thumbnailer
    178   ];
    179 
    180   office = [
    181     groff
    182     texliveFull
    183   ]
    184   ++ lib.optionals (!isDarwin) [
    185     libreoffice-fresh
    186   ];
    187 
    188   email = [
    189     neomutt
    190     msmtp
    191     isync
    192     abook
    193     lynx
    194   ];
    195 
    196   development = [
    197     gh
    198     tree-sitter
    199     python313Packages.tiktoken
    200     python313Packages.pylatexenc
    201     luajitPackages.jsregexp
    202 
    203     nil
    204     marksman
    205     nodejs
    206     pnpm
    207 
    208     cmake
    209     gnumake
    210     gcc
    211 
    212     luarocks
    213     javaPackages.compiler.openjdk17
    214     lua5_1
    215     go
    216     ruby
    217     php
    218     julia-bin
    219     python3
    220     python313Packages.pip
    221     rustup
    222   ];
    223 }