aboutsummaryrefslogtreecommitdiffstats
path: root/modules/system/system-monitor/default.nix
blob: e103ed356097a772c12c53be98750b923dbe0ff1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# System monitor script using tmux to run bottom and nvtop side-by-side
{
  config,
  lib,
  pkgs,
  ...
}:
let
  inherit ((import ../../lib/script.nix { inherit lib pkgs; })) mkScriptModule;
  script = mkScriptModule {
    scope = [ "system" ];
    name = "system-monitor";
    path = ./system-monitor.sh;
    description = "System monitor script using tmux to run bottom and nvtop side-by-side\nOpens a tmux session with:\n  - Left pane: bottom (system/process monitor)\n  - Right pane: nvtop (GPU monitor)";
    deps = [
      config.system.bottom.package
      config.system.nvtop.package
      config.terminal.tmux.package
      config.terminal.kitty.package
      pkgs.bash
    ];
    desktop = {
      enable = true;
      displayName = "System Monitor";
      icon = "bottom-system-monitor";
    };
    inherit config;
  };
in
{
  options = script.options;
  config = lib.mkMerge [
    script.config
    {
      assertions = import ./assertions.nix { inherit config lib; };
      home.file.".local/share/icons/hicolor/scalable/apps/bottom-system-monitor.svg" = {
        source = ../../../assets/icons/bottom-system-monitor.svg;
      };
    }
  ];
}