112 lines
2.4 KiB
Nix
112 lines
2.4 KiB
Nix
{
|
|
pkgs,
|
|
config,
|
|
lib,
|
|
...
|
|
}: let
|
|
inherit (lib) mkIf mkEnableOption mkOption types mkMerge;
|
|
cfg = config.home.programs.pkgs;
|
|
in {
|
|
options = {
|
|
home.programs.pkgs = {
|
|
enable = mkEnableOption "Enables miscellaneous utility apps";
|
|
common.enable = mkOption {
|
|
type = types.bool;
|
|
default = false;
|
|
description = "Whether to install common packages.";
|
|
};
|
|
desktop.enable = mkOption {
|
|
type = types.bool;
|
|
default = false;
|
|
description = "Whether to install desktop-specific packages.";
|
|
};
|
|
laptop.enable = mkOption {
|
|
type = types.bool;
|
|
default = false;
|
|
description = "Whether to install laptop-specific packages.";
|
|
};
|
|
server.enable = mkOption {
|
|
type = types.bool;
|
|
default = false;
|
|
description = "Whether to install server-specific packages.";
|
|
};
|
|
dev.enable = mkOption {
|
|
type = types.bool;
|
|
default = false;
|
|
description = "Whether to install development-specific packages.";
|
|
};
|
|
};
|
|
};
|
|
config = mkIf cfg.enable {
|
|
programs = {
|
|
btop = {
|
|
enable = true;
|
|
package = pkgs.btop.override {rocmSupport = true;};
|
|
settings = {
|
|
color_theme = "gruvbox_material_dark";
|
|
};
|
|
};
|
|
};
|
|
|
|
home.packages = with pkgs;
|
|
mkMerge [
|
|
[
|
|
cmatrix
|
|
xcur2png
|
|
ripgrep
|
|
file
|
|
fd
|
|
gnused
|
|
nix-tree
|
|
wireguard-tools
|
|
unzip
|
|
zip
|
|
gnutar
|
|
p7zip
|
|
]
|
|
|
|
(mkIf cfg.common.enable [
|
|
keepassxc
|
|
usbimager
|
|
nwg-look
|
|
pavucontrol
|
|
gnome-calculator
|
|
slurp
|
|
grimblast
|
|
tesseract
|
|
calcurse
|
|
exiftool
|
|
hyprpicker
|
|
libnotify
|
|
pamixer
|
|
oculante
|
|
adwaita-icon-theme
|
|
qt5.qtwayland
|
|
qt6.qtwayland
|
|
wl-clipboard
|
|
wpa_supplicant
|
|
unrar
|
|
material-icons
|
|
material-symbols
|
|
feh
|
|
])
|
|
|
|
(mkIf cfg.desktop.enable [
|
|
protontricks
|
|
monero-gui
|
|
lutris
|
|
])
|
|
|
|
(mkIf cfg.laptop.enable [
|
|
])
|
|
|
|
(mkIf cfg.server.enable [
|
|
nvtopPackages.full
|
|
])
|
|
|
|
(mkIf cfg.dev.enable [
|
|
])
|
|
];
|
|
};
|
|
}
|