Files
dendritic/modules/home-manager/rebuild.nix
John Lancaster 3018d2c8fc script tweak
2026-02-16 12:56:18 -06:00

41 lines
1.1 KiB
Nix

{ inputs, ... }:
{
flake.homeModules.rebuild =
{ pkgs, lib, config, ... }:
{
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.activation.printFlakeDir = lib.hm.dag.entryAfter ["writeBoundary"] ''
run echo "Home Manager flake directory: ${flakeDir}"
'';
home.packages = with pkgs; [
home-manager
(writeShellScriptBin "flake-parts-test" ''
echo "Test ${flakeDir}"
'')
(writeShellScriptBin "flake-parts-check" ''
cd ${flakeDir}
${nixBin} run ".#write-flake"
${nixBin} flake check
'')
(writeShellScriptBin "nhms" ''
flake-parts-check
${lib.getExe home-manager} switch --impure --flake ${flakeDir}
'')
];
};
};
}