From 1a39cf221e3f647df0767c88d89a54e3813e7019 Mon Sep 17 00:00:00 2001 From: Arpit Chakladar Date: Sat, 29 Aug 2026 03:45:10 +0530 Subject: refactor: adding explicit options to enable scripts - some scripts that are not critical to the functioning of other options, can be enabled/disabled --- modules/system/deep-clean/default.nix | 28 ++++++++++++++++++++-------- 1 file changed, 20 insertions(+), 8 deletions(-) (limited to 'modules/system/deep-clean/default.nix') diff --git a/modules/system/deep-clean/default.nix b/modules/system/deep-clean/default.nix index af75382..02022fe 100644 --- a/modules/system/deep-clean/default.nix +++ b/modules/system/deep-clean/default.nix @@ -6,13 +6,25 @@ ... }: let - inherit ((import ../../lib/script.nix { inherit lib pkgs; })) mkScriptModule; + deepCleanScript = pkgs.writeShellApplication { + name = "deep-clean"; + runtimeInputs = [ pkgs.bash ]; + text = builtins.readFile ./deep-clean.sh; + }; in -mkScriptModule { - scope = [ "system" ]; - name = "deep-clean"; - path = ./deep-clean.sh; - description = "Deep clean script for Nix systems\nRemoves old generations, garbage, and optimizes store\nWARNING: Do NOT run with sudo - run as normal user"; - deps = [ pkgs.bash ]; - inherit config; +{ + 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 ]; + }; } -- cgit v1.2.3