diff options
Diffstat (limited to 'scripts/nix-profile.sh.in')
-rw-r--r-- | scripts/nix-profile.sh.in | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/scripts/nix-profile.sh.in b/scripts/nix-profile.sh.in new file mode 100644 index 000000000000..a91b54bd589f --- /dev/null +++ b/scripts/nix-profile.sh.in @@ -0,0 +1,31 @@ +if [ -n "$HOME" ]; then + NIX_LINK="$HOME/.nix-profile" + + # Set the default profile. + if ! [ -L "$NIX_LINK" ]; then + echo "creating $NIX_LINK" >&2 + _NIX_DEF_LINK=@localstatedir@/nix/profiles/default + @coreutils@/ln -s "$_NIX_DEF_LINK" "$NIX_LINK" + fi + + export PATH=$NIX_LINK/bin:$NIX_LINK/sbin:$PATH + + # Subscribe the user to the Nixpkgs channel by default. + if [ ! -e $HOME/.nix-channels ]; then + echo "https://nixos.org/channels/nixpkgs-unstable nixpkgs" > $HOME/.nix-channels + fi + + # Append ~/.nix-defexpr/channels/nixpkgs to $NIX_PATH so that + # <nixpkgs> paths work when the user has fetched the Nixpkgs + # channel. + export NIX_PATH=${NIX_PATH:+$NIX_PATH:}nixpkgs=$HOME/.nix-defexpr/channels/nixpkgs + + # Set $SSL_CERT_FILE so that Nixpkgs applications like curl work. + if [ -e /etc/ssl/certs/ca-bundle.crt ]; then # Fedora, NixOS + export SSL_CERT_FILE=/etc/ssl/certs/ca-bundle.crt + elif [ -e /etc/ssl/certs/ca-certificates.crt ]; then # Ubuntu, Debian + export SSL_CERT_FILE=/etc/ssl/certs/ca-certificates.crt + elif [ -e "$NIX_LINK/etc/ca-bundle.crt" ]; then # fall back to Nix profile + export SSL_CERT_FILE="$NIX_LINK/etc/ca-bundle.crt" + fi +fi |