.files/nix/configurations/tungsten/home/programs.nix

109 lines
1.9 KiB
Nix

{
pkgs,
lib,
config,
...
}: {
home.sessionVariables = let
fishCfg = config.programs.fish;
in {
"SHELL" = lib.mkIf fishCfg.enable (lib.getExe fishCfg.package);
};
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
# 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.nix-tree
pkgs.nurl
pkgs.nvd
pkgs.niv
pkgs.npins
];
programs = {
neovim.enable = true;
neovim.defaultEditor = true;
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 = [
pkgs.vlc
pkgs.nautilus
pkgs.sushi # space bar previewer
# wm utilities
pkgs.xbrightness
pkgs.dmenu
pkgs.xclip
pkgs.xscreensaver # talk to xscreensaver
pkgs.xcolor
# audio utilities
pkgs.helvum
pkgs.pavucontrol
];
programs = {
feh.enable = true;
sioyek.enable = true;
kitty = {
enable = true;
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"];
};
};
}
];
}