diff --git a/install.sh b/install.sh index a7bbc4f..acc159a 100755 --- a/install.sh +++ b/install.sh @@ -14,13 +14,21 @@ echo "Installing dotfiles..." if [ "${CODER_TEMPLATE_TYPE}" == "Devcontainer" ]; then installers/install-nix.sh installers/install-nix-packages-flake.sh - . ~/.nix-profile/etc/profile.d/nix.sh + if [ -r "$HOME/.nix-profile/etc/profile.d/nix.sh" ]; then + . "$HOME/.nix-profile/etc/profile.d/nix.sh" + elif [ -r "${XDG_STATE_HOME:-$HOME/.local/state}/nix/profile/etc/profile.d/nix.sh" ]; then + . "${XDG_STATE_HOME:-$HOME/.local/state}/nix/profile/etc/profile.d/nix.sh" + fi elif [ "${CODER_OS_FAMILY:-}" == "Ubuntu" ]; then echo "Detected OS as Ubuntu, using apt"; sudo apt-get update; sudo apt-get install -y stow; installers/install-nix.sh - . ~/.nix-profile/etc/profile.d/nix.sh + if [ -r "$HOME/.nix-profile/etc/profile.d/nix.sh" ]; then + . "$HOME/.nix-profile/etc/profile.d/nix.sh" + elif [ -r "${XDG_STATE_HOME:-$HOME/.local/state}/nix/profile/etc/profile.d/nix.sh" ]; then + . "${XDG_STATE_HOME:-$HOME/.local/state}/nix/profile/etc/profile.d/nix.sh" + fi elif [ -f /etc/os-release ]; then echo "Idenitfying OS to install GNU stow..." if grep -q -i debian /etc/os-release; then diff --git a/installers/install-nix-packages-flake.sh b/installers/install-nix-packages-flake.sh index 9af236a..3a1a339 100755 --- a/installers/install-nix-packages-flake.sh +++ b/installers/install-nix-packages-flake.sh @@ -11,6 +11,8 @@ ARCHIVE_PATH="${FLAKE_PATH}/archive.nar" if ! which nix &>/dev/null; then if [ -r "$HOME/.nix-profile/etc/profile.d/nix.sh" ]; then . "$HOME/.nix-profile/etc/profile.d/nix.sh" + elif [ -r "${XDG_STATE_HOME:-$HOME/.local/state}/nix/profile/etc/profile.d/nix.sh" ]; then + . "${XDG_STATE_HOME:-$HOME/.local/state}/nix/profile/etc/profile.d/nix.sh" else echo "Nix isn't available. Exiting now!" exit 1 diff --git a/installers/install-nix.sh b/installers/install-nix.sh index d0ae44b..d0c2614 100755 --- a/installers/install-nix.sh +++ b/installers/install-nix.sh @@ -28,6 +28,8 @@ cat << EOF > ~/.bashrc # Source nix if it's installed if [ -r ~/.nix-profile/etc/profile.d/nix.sh ]; then . ~/.nix-profile/etc/profile.d/nix.sh +elif [ -r "${XDG_STATE_HOME:-$HOME/.local/state}/nix/profile/etc/profile.d/nix.sh" ]; then + . "${XDG_STATE_HOME:-$HOME/.local/state}/nix/profile/etc/profile.d/nix.sh" fi EOF diff --git a/sh/.profile b/sh/.profile index df29a89..b62df97 100644 --- a/sh/.profile +++ b/sh/.profile @@ -50,4 +50,6 @@ export HISTFILESIZE=10000 if [ -r "$HOME/.nix-profile/etc/profile.d/nix.sh" ]; then . "$HOME/.nix-profile/etc/profile.d/nix.sh" +elif [ -r "${XDG_STATE_HOME:-$HOME/.local/state}/nix/profile/etc/profile.d/nix.sh" ]; then + . "${XDG_STATE_HOME:-$HOME/.local/state}/nix/profile/etc/profile.d/nix.sh" fi