fixing pkgs module file

This commit is contained in:
2025-07-23 11:55:29 +02:00
parent 3404c0070f
commit f4d0013aa0
6 changed files with 129 additions and 83 deletions

View File

@@ -19,11 +19,11 @@
./home/programs/hyprlock
./home/programs/jujutsu
./home/programs/kitty
./home/programs/misc
./home/programs/mpv
./home/programs/neovim
./home/programs/nvf
./home/programs/nwg-bar
./home/programs/pkgs
./home/programs/rofi
./home/programs/ssh
./home/programs/tuirun

View File

@@ -1,78 +0,0 @@
{
pkgs,
config,
lib,
...
}: let
inherit (lib) mkIf mkEnableOption;
cfg = config.home.programs.misc;
in {
options = {
home.programs.misc.enable = mkEnableOption "Enables miscellaneous utility apps";
};
config = mkIf cfg.enable {
programs = {
ssh = {
enable = true;
};
# image viewer
feh = {
enable = true;
};
# a monitor of resources
btop = {
enable = true;
package = pkgs.btop.override {rocmSupport = true;};
settings = {
color_theme = "gruvbox_material_dark";
};
};
};
home.packages = with pkgs; [
protontricks
lutris
monero-gui
# misc.gui
# virt-manager
gnome-calculator
keepassxc
# networkmanagerapplet # tray icon for NetworkManager
nwg-look # GTK settings
pavucontrol # GUI sound control
qbittorrent
usbimager # write bootable usb images!
slurp # select region for screenshot
grimblast
tesseract
# misc.tui
xcur2png
cmatrix
calcurse # calendar
chatgpt-cli
exiftool
hyprpicker # Color picker
libnotify
pamixer # TUI sound control
ripgrep
oculante
file
fd
gnused
nix-tree
# misc.system
adwaita-icon-theme
qt5.qtwayland
qt6.qtwayland
wireguard-tools
wl-clipboard
wpa_supplicant
unzip
zip
gnutar
p7zip
unrar
material-icons
material-symbols
];
};
}

View File

@@ -0,0 +1,111 @@
{
pkgs,
config,
lib,
...
}: let
inherit (lib) mkIf mkEnableOption mkOption types;
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 [
])
(mkIf cfg.dev.enable [
])
];
};
}

View File

@@ -31,6 +31,11 @@ in {
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;
@@ -94,6 +99,10 @@ in {
brightnessctl
])
(mkIf cfg.server.enable [
intel-gpu-tools
])
(mkIf cfg.dev.enable [
# lldb_20 # some biuld error atm
gemini-cli

View File

@@ -53,9 +53,6 @@
kitty = {
enable = false;
};
misc = {
enable = true;
};
mpv = {
enable = true;
};
@@ -68,6 +65,11 @@
nwg-bar = {
enable = true;
};
pkgs = {
enable = true;
common.enable = true;
desktop.enable = true;
};
rofi = {
enable = true;
};

View File

@@ -43,8 +43,10 @@
kitty = {
enable = true;
};
misc = {
pkgs = {
enable = true;
common.enable = true;
desktop.enable = true;
};
mpv = {
enable = true;