.files/nix/configurations/vanadium/home/programs.nix

130 lines
2.6 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 = [
# TODO: write a simple rpn calculator for scripting (and learn bash properly)
pkgs.ghc # my favorite calculator
pkgs.lsr # fast ls with io_uring
pkgs.nmap
pkgs.zip
pkgs.unzip
pkgs.gnutar
pkgs.p7zip
pkgs.dig
pkgs.hutils # TODO: simplify this project
# To quote a legendary programer:
# > for whenever people think mac is hardcoded in hardware.
# > suckers.
#
# lol
pkgs.macchanger
pkgs.ruler
# pdf
pkgs.poppler-utils # pdfseparate, pdfunite
pkgs.easyscan
# productivity / media
pkgs.evolution # TODO: find an alternative
# pkgs.libreoffice
pkgs.calibre
pkgs.digikam
pkgs.nautilus
pkgs.sushi # space bar previewer
pkgs.picard # music tagger
pkgs.qbittorrent
pkgs.mkvtoolnix
pkgs.localsend # file share with iOS
# social
pkgs.iamb
pkgs.discord # keep the app for video calls
pkgs.signal-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
pkgs.pulseaudio # pactl value control
pkgs.pantheon.elementary-sound-theme
];
programs = {
neovim = {
enable = true;
defaultEditor = true;
};
lazygit.enable = true;
fish.enable = true;
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";
};
};
# SHARP to change audio track
# j to change subtitle track
# _ to change video track
mpv.enable = true;
btop.enable = true;
cmus.enable = true;
feh.enable = true;
sioyek.enable = true;
ghostty = {
enable = true;
settings = {
font-size = 12; # sweet spot for framework 13
command = lib.getExe config.programs.fish.package;
mouse-scroll-multiplier = 1;
};
};
# chromium.enable = true;
};
services = {
wired.enable = true;
playerctld.enable = true;
gpg-agent.enable = true;
gnome-keyring = {
enable = true;
components = [ "secrets" ];
};
};
}