nix: provide a working multi-user configuration by default.
This commit is contained in:
parent
f855e9404b
commit
e7ce46034d
|
@ -0,0 +1,43 @@
|
|||
export NIX_USER_PROFILE_DIR=/nix/var/nix/profiles/per-user/$USER
|
||||
|
||||
mkdir -m 0755 -p $NIX_USER_PROFILE_DIR
|
||||
if test "$(stat --printf '%u' $NIX_USER_PROFILE_DIR)" != "$(id -u)"; then
|
||||
echo "WARNING: bad ownership on $NIX_USER_PROFILE_DIR" >&2
|
||||
fi
|
||||
|
||||
if ! test -L $HOME/.nix-profile; then
|
||||
echo "creating $HOME/.nix-profile" >&2
|
||||
if test "$USER" != root; then
|
||||
ln -s $NIX_USER_PROFILE_DIR/profile $HOME/.nix-profile
|
||||
else
|
||||
# Root installs in the system-wide profile by default.
|
||||
ln -s /nix/var/nix/profiles/default $HOME/.nix-profile
|
||||
fi
|
||||
fi
|
||||
|
||||
export NIX_PROFILES="/nix/var/nix/profiles/default $HOME/.nix-profile"
|
||||
|
||||
for i in $NIX_PROFILES; do
|
||||
export PATH=$i/bin:$PATH
|
||||
done
|
||||
|
||||
if [ "$USER" = root -a ! -e $HOME/.nix-channels ]; then
|
||||
echo "http://nixos.org/channels/nixpkgs-unstable nixpkgs" \
|
||||
> $HOME/.nix-channels
|
||||
fi
|
||||
|
||||
NIX_USER_GCROOTS_DIR=/nix/var/nix/gcroots/per-user/$USER
|
||||
mkdir -m 0755 -p $NIX_USER_GCROOTS_DIR
|
||||
if test "$(stat --printf '%u' $NIX_USER_GCROOTS_DIR)" != "$(id -u)"; then
|
||||
echo "WARNING: bad ownership on $NIX_USER_GCROOTS_DIR" >&2
|
||||
fi
|
||||
|
||||
if [ ! -e $HOME/.nix-defexpr -o -L $HOME/.nix-defexpr ]; then
|
||||
echo "creating $HOME/.nix-defexpr" >&2
|
||||
rm -f $HOME/.nix-defexpr
|
||||
mkdir $HOME/.nix-defexpr
|
||||
if [ "$USER" != root ]; then
|
||||
ln -s /nix/var/nix/profiles/per-user/root/channels \
|
||||
$HOME/.nix-defexpr/channels_root
|
||||
fi
|
||||
fi
|
|
@ -1,7 +1,7 @@
|
|||
# Template file for 'nix'
|
||||
pkgname=nix
|
||||
version=1.6
|
||||
revision=1
|
||||
revision=2
|
||||
build_style=gnu-configure
|
||||
# Use /nix/var as suggested by the official Manual.
|
||||
configure_args="--localstatedir=/nix/var"
|
||||
|
@ -24,6 +24,8 @@ post_install() {
|
|||
vinstall ${FILESDIR}/nix-daemon.service 644 usr/lib/systemd/system
|
||||
# Setup build users.
|
||||
echo 'build-users-group = nixbld' > ${DESTDIR}/etc/nix/nix.conf
|
||||
# Install our profile.d/nix for multi-user by default.
|
||||
vinstall ${FILESDIR}/nix.sh 644 etc/profile.d
|
||||
}
|
||||
|
||||
nix_package() {
|
||||
|
@ -45,6 +47,7 @@ nix_package() {
|
|||
/nix/var/log/nix/drvs 0755 root root
|
||||
/nix/var/nix/profiles 0755 root root
|
||||
/nix/var/nix/profiles/per-user 1777 root root
|
||||
/nix/var/nix/gcroots/per-user 1777 root root
|
||||
/nix/var/nix/temproots 0755 root root
|
||||
/nix/var/nix/gcroots 0755 root root
|
||||
/nix/var/nix/manifests 0755 root root
|
||||
|
|
Loading…
Reference in New Issue