{ home-manager, gettext, runCommand, ncurses }: let hmBashLibInit = '' export TEXTDOMAIN=home-manager export TEXTDOMAINDIR=${home-manager}/share/locale source ${home-manager}/share/bash/home-manager.sh ''; in runCommand "home-manager-install" { propagatedBuildInputs = [ home-manager gettext ncurses ]; preferLocalBuild = true; shellHookOnly = true; shellHook = '' ${hmBashLibInit} confFile="''${XDG_CONFIG_HOME:-$HOME/.config}/nixpkgs/home.nix" if [[ ! -e $confFile ]]; then echo _i "Creating initial Home Manager configuration..." nl=$'\n' xdgVars="" if [[ -v XDG_CACHE_HOME && $XDG_CACHE_HOME != "$HOME/.cache" ]]; then xdgVars="$xdgVars xdg.cacheHome = \"$XDG_CACHE_HOME\";$nl" fi if [[ -v XDG_CONFIG_HOME && $XDG_CONFIG_HOME != "$HOME/.config" ]]; then xdgVars="$xdgVars xdg.configHome = \"$XDG_CONFIG_HOME\";$nl" fi if [[ -v XDG_DATA_HOME && $XDG_DATA_HOME != "$HOME/.local/share" ]]; then xdgVars="$xdgVars xdg.dataHome = \"$XDG_DATA_HOME\";$nl" fi if [[ -v XDG_STATE_HOME && $XDG_STATE_HOME != "$HOME/.local/state" ]]; then xdgVars="$xdgVars xdg.stateHome = \"$XDG_STATE_HOME\";$nl" fi mkdir -p "$(dirname "$confFile")" cat > $confFile <