From 01aaa7ad39c1fe8af6ffbca31abbab27dbfefc95 Mon Sep 17 00:00:00 2001 From: Arpit Chakladar Date: Wed, 15 Jul 2026 20:02:29 +0530 Subject: refactor: organized the modules into better categories Instead of lumping everything in modules/programs we are separating them into separate directories in modules/ --- modules/system/bluetui/default.nix | 18 ++++++++++++++++++ modules/system/bottom/default.nix | 15 +++++++++++++++ modules/system/brightnessctl/default.nix | 18 ++++++++++++++++++ modules/system/default.nix | 12 ++++++++++++ modules/system/htop/default.nix | 15 +++++++++++++++ modules/system/nvtop/default.nix | 23 +++++++++++++++++++++++ modules/system/systemctl-tui/default.nix | 18 ++++++++++++++++++ 7 files changed, 119 insertions(+) create mode 100644 modules/system/bluetui/default.nix create mode 100644 modules/system/bottom/default.nix create mode 100644 modules/system/brightnessctl/default.nix create mode 100644 modules/system/default.nix create mode 100644 modules/system/htop/default.nix create mode 100644 modules/system/nvtop/default.nix create mode 100644 modules/system/systemctl-tui/default.nix (limited to 'modules/system') diff --git a/modules/system/bluetui/default.nix b/modules/system/bluetui/default.nix new file mode 100644 index 0000000..a2a97ec --- /dev/null +++ b/modules/system/bluetui/default.nix @@ -0,0 +1,18 @@ +{ + config, + lib, + pkgs, + ... +}: + +# Bluetui - Terminal UI for Bluetooth management +{ + options.programs.bluetui = { + enable = lib.mkEnableOption "Enables bluetui."; + package = lib.mkPackageOption pkgs "bluetui" { }; + }; + + config = lib.mkIf config.programs.bluetui.enable { + home.packages = [ config.programs.bluetui.package ]; + }; +} diff --git a/modules/system/bottom/default.nix b/modules/system/bottom/default.nix new file mode 100644 index 0000000..3ecda86 --- /dev/null +++ b/modules/system/bottom/default.nix @@ -0,0 +1,15 @@ +{ + config, + lib, + pkgs, + ... +}: + +# Bottom - Cross-platform graphical process/system monitor (Rust-based) +{ + config = lib.mkIf config.programs.bottom.enable { + programs.bottom = { + package = pkgs.bottom; + }; + }; +} diff --git a/modules/system/brightnessctl/default.nix b/modules/system/brightnessctl/default.nix new file mode 100644 index 0000000..cea3517 --- /dev/null +++ b/modules/system/brightnessctl/default.nix @@ -0,0 +1,18 @@ +{ + config, + lib, + pkgs, + ... +}: + +# brightnessctl - Backlight brightness control tool +{ + options.programs.brightnessctl = { + enable = lib.mkEnableOption "Enables brightnessctl."; + package = lib.mkPackageOption pkgs "brightnessctl" { }; + }; + + config = lib.mkIf config.programs.brightnessctl.enable { + home.packages = [ config.programs.brightnessctl.package ]; + }; +} diff --git a/modules/system/default.nix b/modules/system/default.nix new file mode 100644 index 0000000..88e5087 --- /dev/null +++ b/modules/system/default.nix @@ -0,0 +1,12 @@ +{ ... }: + +{ + imports = [ + ./bluetui + ./bottom + ./brightnessctl + ./htop + ./nvtop + ./systemctl-tui + ]; +} diff --git a/modules/system/htop/default.nix b/modules/system/htop/default.nix new file mode 100644 index 0000000..7781464 --- /dev/null +++ b/modules/system/htop/default.nix @@ -0,0 +1,15 @@ +{ + pkgs, + lib, + config, + ... +}: + +# Htop - Interactive process viewer (using htop-vim version) +{ + config = lib.mkIf config.programs.htop.enable { + programs.htop = { + package = pkgs.htop-vim; + }; + }; +} diff --git a/modules/system/nvtop/default.nix b/modules/system/nvtop/default.nix new file mode 100644 index 0000000..19dd61b --- /dev/null +++ b/modules/system/nvtop/default.nix @@ -0,0 +1,23 @@ +{ + config, + pkgs, + lib, + ... +}: + +# Nvtop - GPU process monitor (NVIDIA/AMD/Intel GPUs) +{ + options.programs.nvtop = { + enable = lib.mkEnableOption "Enables nvtop."; + package = lib.mkOption { + type = lib.types.package; + default = pkgs.nvtopPackages.full; + readOnly = true; + description = "The nvtop package to use."; + }; + }; + + config = lib.mkIf config.programs.nvtop.enable { + home.packages = [ config.programs.nvtop.package ]; + }; +} diff --git a/modules/system/systemctl-tui/default.nix b/modules/system/systemctl-tui/default.nix new file mode 100644 index 0000000..77dca8c --- /dev/null +++ b/modules/system/systemctl-tui/default.nix @@ -0,0 +1,18 @@ +{ + config, + pkgs, + lib, + ... +}: + +# systemctl-tui - TUI for systemctl (systemd service management) +{ + options.programs.systemctl-tui = { + enable = lib.mkEnableOption "Enables systemctl-tui."; + package = lib.mkPackageOption pkgs "systemctl-tui" { }; + }; + + config = lib.mkIf config.programs.systemctl-tui.enable { + home.packages = [ config.programs.systemctl-tui.package ]; + }; +} -- cgit v1.2.3