diff --git a/modules/home-manager/rebuild.nix b/modules/home-manager/rebuild.nix index f864693..d8690f4 100644 --- a/modules/home-manager/rebuild.nix +++ b/modules/home-manager/rebuild.nix @@ -1,24 +1,34 @@ { inputs, ... }: { flake.homeModules.rebuild = - { pkgs, lib, ... }: - let - nixBin = lib.getExe pkgs.nix; - flakeDir = "~/.config/home-manager/jsl-home"; - in + { pkgs, lib, config, ... }: { - home.packages = with pkgs; [ - home-manager - (writeShellScriptBin "flake-parts-check" '' - cd ${flakeDir} - ${nixBin} run ".#write-flake" - ${nixBin} flake check - '') - (writeShellScriptBin "nhms" '' - cd ${flakeDir} - ${nixBin} run ".#write-flake" - ${lib.getExe home-manager} switch --impure --flake ${flakeDir} - '') - ]; + options = { + homeManagerFlakeDir = lib.mkOption { + type = lib.types.str; + default = "~/.config/home-manager/jsl-home"; + description = "Path to the home-manager flake directory."; + }; + }; + + config = let + nixBin = lib.getExe pkgs.nix; + flakeDir = config.homeManagerFlakeDir; + in + { + home.packages = with pkgs; [ + home-manager + (writeShellScriptBin "flake-parts-check" '' + cd ${flakeDir} + ${nixBin} run ".#write-flake" + ${nixBin} flake check + '') + (writeShellScriptBin "nhms" '' + cd ${flakeDir} + ${nixBin} run ".#write-flake" + ${lib.getExe home-manager} switch --impure --flake ${flakeDir} + '') + ]; + }; }; }