diff options
author | Robert Helgesson <robert@rycee.net> | 2017-11-24 12:31:08 +0100 |
---|---|---|
committer | Robert Helgesson <robert@rycee.net> | 2017-11-29 23:48:58 +0100 |
commit | 06d4f39e7b42fd601eae247e458ac82fece349d0 (patch) | |
tree | 9eaf6ae4b1a2017c1fb5bff12eec0b07a2f79684 /home-manager | |
parent | a1e36a9a37fa1abc28cf66b55635a6b4ff0dc8e2 (diff) |
home-manager: use `shellHook` to install
This changes the installation command from
nix-shell $HM_PATH -A install --run 'home-manager switch'
to
nix-shell $HM_PATH -A install
The added shell hook will print some useful information and run
`home-manager switch`.
Diffstat (limited to 'home-manager')
-rw-r--r-- | home-manager/install.nix | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/home-manager/install.nix b/home-manager/install.nix new file mode 100644 index 00000000000..c6d3aa4e4ca --- /dev/null +++ b/home-manager/install.nix @@ -0,0 +1,37 @@ +{ home-manager, pkgs }: + +pkgs.runCommand + "home-manager-install" + { + propagatedBuildInputs = [ home-manager ]; + shellHook = '' + echo + echo "Creating initial Home Manager generation..." + echo + + if home-manager switch; then + cat <<EOF + + All done! The home-manager tool should now be installed and you + can edit + + ''${XDG_CONFIG_HOME:-~/.config}/nixpkgs/home.nix + + to configure Home Manager. Run 'man home-configuration.nix' to + see all available options. + EOF + exit 0 + else + cat <<EOF + + Uh oh, the installation failed! Please create an issue at + + https://github.com/rycee/home-manager/issues + + if the error seems to be the fault of Home Manager. + EOF + exit 1 + fi + ''; + } + "" |