.files/nix/configurations/vanadium/home/programs.nix
2025-08-21 12:59:26 +02:00

167 lines
3 KiB
Nix

{
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.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.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.du-dust
pkgs.tokei
pkgs.hyperfine
pkgs.watchexec
pkgs.onefetch
pkgs.just
# nix tools
pkgs.alejandra
pkgs.nix-output-monitor
pkgs.nurl
pkgs.dix
pkgs.niv
pkgs.npins
pkgs.nix-tree
# 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
# social
pkgs.iamb
pkgs.discord # keep the app for video calls
pkgs.signal-desktop
pkgs.telegram-desktop
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;
};
};
services = {
wired.enable = true;
playerctld.enable = true;
gpg-agent.enable = true;
gnome-keyring = {
enable = true;
components = ["secrets"];
};
};
}