nixos-dots

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

packages.nix (3282B)


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