.files/nix/configurations/vanadium/home/programs.nix
Léana 江 8e540bcfb9
packages: rework package set organisation
make package set self referential

collapse redundant files for package plumbing

rework packages overlay and simplify scope

update altiosevka font

make altiosevka an overlay instead

note

invert package logic

scope overlay

unify package overlay logic

fix overlay reference
2025-05-28 04:30:12 +02:00

145 lines
2.6 KiB
Nix

{
pkgs,
config,
...
}: {
home.sessionPath = [
"${config.home.homeDirectory}/.local/bin"
];
imports = [
#
# CLI / TUI
#
{
home.packages = [
pkgs.stow
pkgs.zip
pkgs.unzip
pkgs.gnutar
pkgs.p7zip
pkgs.bc
pkgs.dig
pkgs.hutils
pkgs.miniserve
pkgs.agenix
# 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.tldr
pkgs.tokei
pkgs.hyperfine
pkgs.watchexec
pkgs.onefetch
pkgs.just
# nix tools
pkgs.alejandra
pkgs.nix-output-monitor
pkgs.nurl
pkgs.nvd
pkgs.niv
pkgs.nix-tree
];
programs = {
neovim.enable = true;
neovim.defaultEditor = true;
emacs = {
enable = true;
package = pkgs.emacs28;
};
fish.enable = true;
starship.enable = true;
tmux.enable = true;
direnv.enable = true;
ripgrep.enable = true;
password-store.enable = true;
btop.enable = true;
cmus.enable = true;
ranger.enable = true;
};
}
#
# GUI
#
{
home.packages = [
# productivity / media
pkgs.evolution
pkgs.libreoffice
pkgs.iamb
pkgs.calibre
pkgs.rawtherapee
pkgs.digikam
pkgs.gimp
pkgs.vlc
pkgs.nautilus
pkgs.sushi # space bar previewer
pkgs.blender
pkgs.inkscape
pkgs.aseprite
pkgs.xournalpp
# social
pkgs.iamb
# wm utilities
pkgs.xbrightness
pkgs.dmenu
pkgs.xclip
pkgs.maim
pkgs.xscreensaver # talk to xscreensaver
pkgs.xcolor
# audio utilities
pkgs.helvum
pkgs.pavucontrol
];
programs = {
feh.enable = true;
sioyek.enable = true;
kitty = {
enable = true;
font.size = 12; # sweet spot for framework 13
};
};
services = {
wired.enable = true;
playerctld.enable = true;
gpg-agent.enable = true;
gnome-keyring = {
enable = true;
components = ["secrets"];
};
battery-notify = {
enable = true;
device_full = "/sys/class/power_supply/BAT1/charge_full";
device_now = "/sys/class/power_supply/BAT1/charge_now";
};
};
}
];
}