{ pkgs, lib, config, ... }: { home.sessionPath = [ "${config.home.homeDirectory}/.local/bin" ]; home.sessionVariables = let fishCfg = config.programs.fish; in { "SHELL" = lib.mkIf fishCfg.enable (lib.getExe fishCfg.package); }; home.packages = [ pkgs.ghc # my favorite calculator pkgs.nmap pkgs.stow pkgs.zip pkgs.unzip pkgs.gnutar pkgs.p7zip pkgs.bc pkgs.dig pkgs.hutils pkgs.miniserve pkgs.agenix pkgs.nix-which # To quote a legendary programer: # > for whenever people think mac is hardcoded in hardware. # > suckers. # # lol pkgs.macchanger # The file picker is not ergonomic enough, sadly # pkgs.helix # pkgs.nushell pkgs.ruler pkgs.mini-calc pkgs.eepy pkgs.zbar # pdf pkgs.poppler-utils # pdfseparate, pdfunite pkgs.easyscan # fun # pkgs.prop-solveur # pkgs.hbrainfuck # pkgs.lucky-commit # # research # pkgs.necrolib # pretty tui tools pkgs.dust pkgs.tokei pkgs.hyperfine pkgs.watchexec pkgs.onefetch pkgs.just # nix tools # # Alejandra handles inline comments poorly # # https://github.com/kamadorueda/alejandra/issues/429 # pkgs.alejandra pkgs.nixfmt-rfc-style pkgs.nurl pkgs.dix pkgs.niv pkgs.npins pkgs.nix-tree pkgs.nh # productivity / media pkgs.evolution pkgs.libreoffice pkgs.calibre # pkgs.rawtherapee pkgs.digikam pkgs.gimp pkgs.vlc pkgs.easyeffects pkgs.nautilus pkgs.sushi # space bar previewer # pkgs.blender # pkgs.inkscape # pkgs.aseprite # pkgs.xournalpp pkgs.nicotine-plus pkgs.picard # music tagger pkgs.qbittorrent pkgs.mousai pkgs.localsend # file share with iOS pkgs.minder # mindmap tool pkgs.mkvtoolnix # social pkgs.iamb pkgs.discord # keep the app for video calls pkgs.signal-desktop pkgs.tuba # mastodon GUI client pkgs.emoji-picker-rs # wm utilities pkgs.xbrightness pkgs.dmenu pkgs.xclip pkgs.maim pkgs.xscreensaver # talk to xscreensaver pkgs.xcolor # audio utilities pkgs.helvum pkgs.pavucontrol ]; programs = { neovim = { enable = true; defaultEditor = true; }; emacs = { enable = true; package = pkgs.unsafe-emacs28; }; lazygit.enable = true; fish = { enable = true; shellAbbrs = { "fdoc" = "find ~/Documents -name"; }; }; starship.enable = true; tmux.enable = true; direnv.enable = true; ripgrep.enable = true; password-store.enable = true; tealdeer.enable = true; yt-dlp = { enable = true; settings = { paths = "~/Downloads"; }; }; btop.enable = true; cmus.enable = true; feh.enable = true; sioyek.enable = true; kitty = { enable = true; font.size = 12; # sweet spot for framework 13 settings.shell = lib.getExe config.programs.fish.package; }; chromium.enable = true; }; services = { wired.enable = true; playerctld.enable = true; gpg-agent.enable = true; gnome-keyring = { enable = true; components = [ "secrets" ]; }; }; }