diff options
Diffstat (limited to 'home-manager/modules/programs/home-manager.nix')
-rw-r--r-- | home-manager/modules/programs/home-manager.nix | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/home-manager/modules/programs/home-manager.nix b/home-manager/modules/programs/home-manager.nix new file mode 100644 index 00000000000..42e3c8a384f --- /dev/null +++ b/home-manager/modules/programs/home-manager.nix @@ -0,0 +1,42 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + + cfg = config.programs.home-manager; + + dag = config.lib.dag; + +in + +{ + meta.maintainers = [ maintainers.rycee ]; + + options = { + programs.home-manager = { + enable = mkEnableOption "Home Manager"; + + path = mkOption { + type = types.nullOr types.str; + default = null; + example = "$HOME/devel/home-manager"; + description = '' + The default path to use for Home Manager. If this path does + not exist then + <filename>$HOME/.config/nixpkgs/home-manager</filename> and + <filename>$HOME/.nixpkgs/home-manager</filename> will be + attempted. + ''; + }; + }; + }; + + config = mkIf (cfg.enable && !config.submoduleSupport.enable) { + home.packages = [ + (pkgs.callPackage ../../home-manager { + inherit (cfg) path; + }) + ]; + }; +} |