aboutsummaryrefslogtreecommitdiffstats
path: root/modules/system/deep-clean/default.nix
blob: 99b4617040e614ddb815a2c7f0277023ab5248a1 (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
# Deep clean script for Nix systems
{
  config,
  lib,
  pkgs,
  ...
}:
let
  deepCleanScript = pkgs.writeShellApplication {
    name = "deep-clean";
    runtimeInputs = [ config.terminal.bash.package ];
    text = builtins.readFile ./deep-clean.sh;
  };
in
{
  options.system.deep-clean = {
    enable = lib.mkEnableOption "Enables the deep-clean script.";

    package = lib.mkOption {
      type = lib.types.package;
      readOnly = true;
      default = deepCleanScript;
      description = "The deep-clean script package.";
    };
  };

  config = lib.mkIf config.system.deep-clean.enable {
    home.packages = [ config.system.deep-clean.package ];
  };
}