aboutsummaryrefslogtreecommitdiffstats
path: root/modules/system
diff options
context:
space:
mode:
authorArpit Chakladar <arpitchakladar@gmail.com>2026-09-24 04:02:19 +0530
committerArpit Chakladar <arpitchakladar@gmail.com>2026-09-24 04:02:19 +0530
commit5ea8c30b7b82d4c1e7164541892066b1f24f7d22 (patch)
treead9b994cc5415f63bae1f2342f520756d43c67ce /modules/system
parentad96214c9ab94bce925000a6059e3c68e2ff6a22 (diff)
parent748669e19daa3afc8f0cfe10eedc19ae9766ed2c (diff)
downloadhome-manager-config-5ea8c30b7b82d4c1e7164541892066b1f24f7d22.tar.gz
home-manager-config-5ea8c30b7b82d4c1e7164541892066b1f24f7d22.zip
Merge branch 'massive-refactoring'
Diffstat (limited to 'modules/system')
-rw-r--r--modules/system/brightnessctl/default.nix7
-rw-r--r--modules/system/btop/default.nix37
-rw-r--r--modules/system/deep-clean/default.nix6
-rw-r--r--modules/system/nix-update/default.nix6
-rw-r--r--modules/system/systemctl-tui/default.nix13
5 files changed, 49 insertions, 20 deletions
diff --git a/modules/system/brightnessctl/default.nix b/modules/system/brightnessctl/default.nix
index af5746a..34e9a24 100644
--- a/modules/system/brightnessctl/default.nix
+++ b/modules/system/brightnessctl/default.nix
@@ -5,6 +5,9 @@
pkgs,
...
}:
+let
+ cfg = config.system.brightnessctl;
+in
{
options.system.brightnessctl = {
enable = lib.mkEnableOption "Enables brightnessctl.";
@@ -16,7 +19,7 @@
};
};
- config = lib.mkIf config.system.brightnessctl.enable {
- home.packages = [ config.system.brightnessctl.package ];
+ config = lib.mkIf cfg.enable {
+ home.packages = [ cfg.package ];
};
}
diff --git a/modules/system/btop/default.nix b/modules/system/btop/default.nix
index 4f84036..453bafb 100644
--- a/modules/system/btop/default.nix
+++ b/modules/system/btop/default.nix
@@ -1,39 +1,58 @@
# Cross-platform graphical process and system monitor
{
config,
- pkgs,
lib,
+ pkgs,
...
}:
+let
+ cfg = config.system.btop;
+in
{
imports = [ ./assertions.nix ];
options.system.btop = {
enable = lib.mkEnableOption "Enables btop.";
- nvidia.enable = lib.mkEnableOption "Build btop with NVIDIA GPU monitoring support (CUDA).";
- amd.enable = lib.mkEnableOption "Build btop with AMD GPU monitoring support (ROCm).";
+ nvidia = lib.mkOption {
+ type = lib.types.submodule {
+ options = {
+ enable = lib.mkEnableOption "Build btop with NVIDIA GPU monitoring support (CUDA).";
+ };
+ };
+ default = { };
+ description = "NVIDIA GPU monitoring configuration.";
+ };
+ amd = lib.mkOption {
+ type = lib.types.submodule {
+ options = {
+ enable = lib.mkEnableOption "Build btop with AMD GPU monitoring support (ROCm).";
+ };
+ };
+ default = { };
+ description = "AMD GPU monitoring configuration.";
+ };
package = lib.mkOption {
type = lib.types.package;
readOnly = true;
default = pkgs.btop.override {
- cudaSupport = config.system.btop.nvidia.enable;
- rocmSupport = config.system.btop.amd.enable;
+ cudaSupport = cfg.nvidia.enable;
+ rocmSupport = cfg.amd.enable;
};
description = "The btop package to use.";
};
};
config = lib.mkMerge [
- (lib.mkIf config.system.btop.enable {
+ (lib.mkIf cfg.enable {
programs.btop = {
enable = true;
- package = config.system.btop.package;
+ package = cfg.package;
};
})
- (lib.mkIf (config.system.btop.enable && config.terminal.kitty.enable) {
+ (lib.mkIf (cfg.enable && config.terminal.kitty.enable) {
xdg.desktopEntries."btop" = {
name = "btop++";
- exec = "${lib.getExe config.terminal.kitty.package} --class btop -e ${lib.getExe config.system.btop.package}";
+ exec = "${lib.getExe config.terminal.kitty.package} --class btop -e ${lib.getExe cfg.package}";
icon = "btop";
categories = [
"System"
diff --git a/modules/system/deep-clean/default.nix b/modules/system/deep-clean/default.nix
index 99b4617..1942837 100644
--- a/modules/system/deep-clean/default.nix
+++ b/modules/system/deep-clean/default.nix
@@ -6,6 +6,8 @@
...
}:
let
+ cfg = config.system.deep-clean;
+
deepCleanScript = pkgs.writeShellApplication {
name = "deep-clean";
runtimeInputs = [ config.terminal.bash.package ];
@@ -24,7 +26,7 @@ in
};
};
- config = lib.mkIf config.system.deep-clean.enable {
- home.packages = [ config.system.deep-clean.package ];
+ config = lib.mkIf cfg.enable {
+ home.packages = [ cfg.package ];
};
}
diff --git a/modules/system/nix-update/default.nix b/modules/system/nix-update/default.nix
index 9f93a4e..fb9151d 100644
--- a/modules/system/nix-update/default.nix
+++ b/modules/system/nix-update/default.nix
@@ -6,6 +6,8 @@
...
}:
let
+ cfg = config.system.nix-update;
+
nixUpdateScript = pkgs.writeShellApplication {
name = "nix-update";
runtimeInputs = [
@@ -48,7 +50,7 @@ in
};
};
- config = lib.mkIf config.system.nix-update.enable {
- home.packages = [ config.system.nix-update.package ];
+ config = lib.mkIf cfg.enable {
+ home.packages = [ cfg.package ];
};
}
diff --git a/modules/system/systemctl-tui/default.nix b/modules/system/systemctl-tui/default.nix
index 17b7ec4..66b23a6 100644
--- a/modules/system/systemctl-tui/default.nix
+++ b/modules/system/systemctl-tui/default.nix
@@ -1,10 +1,13 @@
# TUI for systemctl
{
config,
- pkgs,
lib,
+ pkgs,
...
}:
+let
+ cfg = config.system.systemctl-tui;
+in
{
options.system.systemctl-tui = {
enable = lib.mkEnableOption "Enables systemctl-tui.";
@@ -17,17 +20,17 @@
};
config = lib.mkMerge [
- (lib.mkIf config.system.systemctl-tui.enable {
+ (lib.mkIf cfg.enable {
home.file.".local/share/icons/hicolor/scalable/apps/systemd.svg" = {
source = ../../../assets/icons/apps/systemd.svg;
};
- home.packages = [ config.system.systemctl-tui.package ];
+ home.packages = [ cfg.package ];
})
- (lib.mkIf (config.system.systemctl-tui.enable && config.terminal.kitty.enable) {
+ (lib.mkIf (cfg.enable && config.terminal.kitty.enable) {
xdg.desktopEntries."systemctl-tui" = {
name = "systemctl-tui";
- exec = "${lib.getExe config.terminal.kitty.package} --class systemctl-tui -e ${lib.getExe config.system.systemctl-tui.package}";
+ exec = "${lib.getExe config.terminal.kitty.package} --class systemctl-tui -e ${lib.getExe cfg.package}";
icon = "systemd";
categories = [ "System" ];
comment = "TUI for systemctl";