mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-12-17 19:23:50 +00:00
find modules | fgrep .nix | fgrep -v .svn | fgrep -v nixpkgs.nix | xargs sed -i -e 's|/nix/var|${config.nixpkgs.config.nix.stateDir}|g' -e 's|/nix/store|${config.nixpkgs.config.nix.storeDir}|g'
Don't assume /nix/store or /nix/var in NixOS modules, this is configurable svn path=/nixos/trunk/; revision=30104
This commit is contained in:
parent
9d496c77ac
commit
09cf6ce70c
@ -50,8 +50,8 @@ let
|
||||
"~/.nix-profile/lib/X11/fonts"
|
||||
"~/.nix-profile/share/fonts"
|
||||
# - the default profile
|
||||
"/nix/var/nix/profiles/default/lib/X11/fonts"
|
||||
"/nix/var/nix/profiles/default/share/fonts"
|
||||
"${config.nixpkgs.config.nix.stateDir}/nix/profiles/default/lib/X11/fonts"
|
||||
"${config.nixpkgs.config.nix.stateDir}/nix/profiles/default/share/fonts"
|
||||
];
|
||||
description = "
|
||||
List of primary font paths.
|
||||
|
@ -69,7 +69,7 @@ let
|
||||
automatically updated every time you rebuild the system
|
||||
configuration. (The latter is the main difference with
|
||||
installing them in the default profile,
|
||||
<filename>/nix/var/nix/profiles/default</filename>.
|
||||
<filename>${config.nixpkgs.config.nix.stateDir}/nix/profiles/default</filename>.
|
||||
'';
|
||||
};
|
||||
|
||||
|
@ -143,7 +143,7 @@ in
|
||||
[ { mountPoint = "/";
|
||||
device = "/dev/root";
|
||||
}
|
||||
{ mountPoint = "/nix/store";
|
||||
{ mountPoint = "${config.nixpkgs.config.nix.storeDir}";
|
||||
fsType = "squashfs";
|
||||
device = "/nix-store.squashfs";
|
||||
options = "loop";
|
||||
@ -169,7 +169,7 @@ in
|
||||
boot.initrd.kernelModules = [ "loop" ];
|
||||
|
||||
# In stage 1, mount a tmpfs on top of / (the ISO image) and
|
||||
# /nix/store (the squashfs image) to make this a live CD.
|
||||
# ${config.nixpkgs.config.nix.storeDir} (the squashfs image) to make this a live CD.
|
||||
boot.initrd.postMountCommands =
|
||||
''
|
||||
mkdir /mnt-root-tmpfs
|
||||
@ -180,8 +180,8 @@ in
|
||||
|
||||
mkdir /mnt-store-tmpfs
|
||||
mount -t tmpfs -o "mode=755" none /mnt-store-tmpfs
|
||||
mkdir -p $targetRoot/nix/store
|
||||
mount -t aufs -o dirs=/mnt-store-tmpfs=rw:/mnt-root/nix/store=ro none /mnt-root-union/nix/store
|
||||
mkdir -p $targetRoot${config.nixpkgs.config.nix.storeDir}
|
||||
mount -t aufs -o dirs=/mnt-store-tmpfs=rw:/mnt-root${config.nixpkgs.config.nix.storeDir}=ro none /mnt-root-union${config.nixpkgs.config.nix.storeDir}
|
||||
'';
|
||||
|
||||
# Closures to be copied to the Nix store on the CD, namely the init
|
||||
@ -223,7 +223,7 @@ in
|
||||
}
|
||||
{ # Quick hack: need a mount point for the store.
|
||||
source = pkgs.runCommand "empty" {} "ensureDir $out";
|
||||
target = "/nix/store";
|
||||
target = "${config.nixpkgs.config.nix.storeDir}";
|
||||
}
|
||||
];
|
||||
|
||||
@ -257,11 +257,11 @@ in
|
||||
''
|
||||
# After booting, register the contents of the Nix store on the
|
||||
# CD in the Nix database in the tmpfs.
|
||||
${config.environment.nix}/bin/nix-store --load-db < /nix/store/nix-path-registration
|
||||
${config.environment.nix}/bin/nix-store --load-db < ${config.nixpkgs.config.nix.storeDir}/nix-path-registration
|
||||
|
||||
# nixos-rebuild also requires a "system" profile and an
|
||||
# /etc/NIXOS tag.
|
||||
touch /etc/NIXOS
|
||||
${config.environment.nix}/bin/nix-env -p /nix/var/nix/profiles/system --set /var/run/current-system
|
||||
${config.environment.nix}/bin/nix-env -p ${config.nixpkgs.config.nix.stateDir}/nix/profiles/system --set /var/run/current-system
|
||||
'';
|
||||
}
|
||||
|
@ -87,6 +87,6 @@ in
|
||||
# nixos-rebuild also requires a "system" profile and an
|
||||
# /etc/NIXOS tag.
|
||||
touch /etc/NIXOS
|
||||
${config.environment.nix}/bin/nix-env -p /nix/var/nix/profiles/system --set /var/run/current-system
|
||||
${config.environment.nix}/bin/nix-env -p ${config.nixpkgs.config.nix.stateDir}/nix/profiles/system --set /var/run/current-system
|
||||
'';
|
||||
}
|
||||
|
@ -31,7 +31,7 @@ let
|
||||
default = false;
|
||||
description = "
|
||||
Whether copy the necessary boot files into /boot, so
|
||||
/nix/store is not needed by the boot loadear.
|
||||
${config.nixpkgs.config.nix.storeDir} is not needed by the boot loadear.
|
||||
";
|
||||
};
|
||||
};
|
||||
|
@ -22,8 +22,8 @@ let
|
||||
''
|
||||
if [ "$rollback" != "$succeeded" ]
|
||||
then
|
||||
ssh $NIX_SSHOPTS ${getAttr targetProperty (config.deployment)} nix-env -p /nix/var/nix/profiles/system --rollback
|
||||
ssh $NIX_SSHOPTS ${getAttr targetProperty (config.deployment)} /nix/var/nix/profiles/system/bin/switch-to-configuration switch
|
||||
ssh $NIX_SSHOPTS ${getAttr targetProperty (config.deployment)} nix-env -p ${config.nixpkgs.config.nix.stateDir}/nix/profiles/system --rollback
|
||||
ssh $NIX_SSHOPTS ${getAttr targetProperty (config.deployment)} ${config.nixpkgs.config.nix.stateDir}/nix/profiles/system/bin/switch-to-configuration switch
|
||||
|
||||
rollback=$((rollback + 1))
|
||||
fi
|
||||
@ -50,12 +50,12 @@ let
|
||||
in
|
||||
''
|
||||
echo "=== activating system configuration on ${getAttr targetProperty (config.deployment)} ==="
|
||||
ssh $NIX_SSHOPTS ${getAttr targetProperty (config.deployment)} nix-env -p /nix/var/nix/profiles/system --set ${config.system.build.toplevel} ||
|
||||
(ssh $NIX_SSHOPTS ${getAttr targetProperty (config.deployment)} nix-env -p /nix/var/nix/profiles/system --rollback; rollbackSucceeded)
|
||||
ssh $NIX_SSHOPTS ${getAttr targetProperty (config.deployment)} nix-env -p ${config.nixpkgs.config.nix.stateDir}/nix/profiles/system --set ${config.system.build.toplevel} ||
|
||||
(ssh $NIX_SSHOPTS ${getAttr targetProperty (config.deployment)} nix-env -p ${config.nixpkgs.config.nix.stateDir}/nix/profiles/system --rollback; rollbackSucceeded)
|
||||
|
||||
ssh $NIX_SSHOPTS ${getAttr targetProperty (config.deployment)} /nix/var/nix/profiles/system/bin/switch-to-configuration switch ||
|
||||
( ssh $NIX_SSHOPTS ${getAttr targetProperty (config.deployment)} nix-env -p /nix/var/nix/profiles/system --rollback
|
||||
ssh $NIX_SSHOPTS ${getAttr targetProperty (config.deployment)} /nix/var/nix/profiles/system/bin/switch-to-configuration switch
|
||||
ssh $NIX_SSHOPTS ${getAttr targetProperty (config.deployment)} ${config.nixpkgs.config.nix.stateDir}/nix/profiles/system/bin/switch-to-configuration switch ||
|
||||
( ssh $NIX_SSHOPTS ${getAttr targetProperty (config.deployment)} nix-env -p ${config.nixpkgs.config.nix.stateDir}/nix/profiles/system --rollback
|
||||
ssh $NIX_SSHOPTS ${getAttr targetProperty (config.deployment)} ${config.nixpkgs.config.nix.stateDir}/nix/profiles/system/bin/switch-to-configuration switch
|
||||
rollbackSucceeded
|
||||
)
|
||||
|
||||
|
@ -100,7 +100,7 @@ in
|
||||
if test -z "$source"; then
|
||||
# If we can't find the program, fall back to the
|
||||
# system profile.
|
||||
source=/nix/var/nix/profiles/default/bin/${program}
|
||||
source=${config.nixpkgs.config.nix.stateDir}/nix/profiles/default/bin/${program}
|
||||
fi
|
||||
|
||||
cp ${setuidWrapper}/bin/setuid-wrapper ${wrapperDir}/${program}
|
||||
|
@ -308,26 +308,26 @@ in
|
||||
# Set up Nix.
|
||||
mkdir -p /nix/etc/nix
|
||||
ln -sfn /etc/nix.conf /nix/etc/nix/nix.conf
|
||||
chown root.nixbld /nix/store
|
||||
chmod 1775 /nix/store
|
||||
chown root.nixbld ${config.nixpkgs.config.nix.storeDir}
|
||||
chmod 1775 ${config.nixpkgs.config.nix.storeDir}
|
||||
|
||||
# Nix initialisation.
|
||||
mkdir -m 0755 -p \
|
||||
/nix/var/nix/gcroots \
|
||||
/nix/var/nix/temproots \
|
||||
/nix/var/nix/manifests \
|
||||
/nix/var/nix/userpool \
|
||||
/nix/var/nix/profiles \
|
||||
/nix/var/nix/db \
|
||||
/nix/var/log/nix/drvs \
|
||||
/nix/var/nix/channel-cache \
|
||||
/nix/var/nix/chroots
|
||||
mkdir -m 1777 -p /nix/var/nix/gcroots/per-user
|
||||
mkdir -m 1777 -p /nix/var/nix/profiles/per-user
|
||||
mkdir -m 1777 -p /nix/var/nix/gcroots/tmp
|
||||
${config.nixpkgs.config.nix.stateDir}/nix/gcroots \
|
||||
${config.nixpkgs.config.nix.stateDir}/nix/temproots \
|
||||
${config.nixpkgs.config.nix.stateDir}/nix/manifests \
|
||||
${config.nixpkgs.config.nix.stateDir}/nix/userpool \
|
||||
${config.nixpkgs.config.nix.stateDir}/nix/profiles \
|
||||
${config.nixpkgs.config.nix.stateDir}/nix/db \
|
||||
${config.nixpkgs.config.nix.stateDir}/log/nix/drvs \
|
||||
${config.nixpkgs.config.nix.stateDir}/nix/channel-cache \
|
||||
${config.nixpkgs.config.nix.stateDir}/nix/chroots
|
||||
mkdir -m 1777 -p ${config.nixpkgs.config.nix.stateDir}/nix/gcroots/per-user
|
||||
mkdir -m 1777 -p ${config.nixpkgs.config.nix.stateDir}/nix/profiles/per-user
|
||||
mkdir -m 1777 -p ${config.nixpkgs.config.nix.stateDir}/nix/gcroots/tmp
|
||||
|
||||
ln -sf /nix/var/nix/profiles /nix/var/nix/gcroots/
|
||||
ln -sf /nix/var/nix/manifests /nix/var/nix/gcroots/
|
||||
ln -sf ${config.nixpkgs.config.nix.stateDir}/nix/profiles ${config.nixpkgs.config.nix.stateDir}/nix/gcroots/
|
||||
ln -sf ${config.nixpkgs.config.nix.stateDir}/nix/manifests ${config.nixpkgs.config.nix.stateDir}/nix/gcroots/
|
||||
'';
|
||||
|
||||
};
|
||||
|
@ -13,7 +13,7 @@ let
|
||||
{
|
||||
options = {
|
||||
# This can be infered from the UPS model by looking at
|
||||
# /nix/store/nut/share/driver.list
|
||||
# ${config.nixpkgs.config.nix.storeDir}/nut/share/driver.list
|
||||
driver = mkOption {
|
||||
type = types.uniq types.string;
|
||||
description = ''
|
||||
|
@ -133,7 +133,7 @@ in
|
||||
|
||||
Additionally you can specify the up/ down scripts by setting
|
||||
the up down properties.
|
||||
Config lines up=/nix/store/xxx-up-script down=...
|
||||
Config lines up=${config.nixpkgs.config.nix.storeDir}/xxx-up-script down=...
|
||||
will be appended to your configuration file automatically
|
||||
|
||||
If you define at least one of up/down "script-security 2" will be
|
||||
|
@ -78,7 +78,7 @@ in
|
||||
If non-null, override the default login shell with the
|
||||
specified value.
|
||||
'';
|
||||
example = "/nix/store/xyz-bash-10.0/bin/bash10";
|
||||
example = "${config.nixpkgs.config.nix.storeDir}/xyz-bash-10.0/bin/bash10";
|
||||
};
|
||||
|
||||
srpKeyExchange = mkOption {
|
||||
|
@ -155,7 +155,7 @@ in
|
||||
};
|
||||
|
||||
services.dbus.packages =
|
||||
[ "/nix/var/nix/profiles/default"
|
||||
[ "${config.nixpkgs.config.nix.stateDir}/nix/profiles/default"
|
||||
config.system.path
|
||||
];
|
||||
|
||||
|
@ -339,7 +339,7 @@ let
|
||||
# But do allow access to files in the store so that we don't have
|
||||
# to generate <Directory> clauses for every generated file that we
|
||||
# want to serve.
|
||||
<Directory /nix/store>
|
||||
<Directory ${config.nixpkgs.config.nix.storeDir}>
|
||||
Order allow,deny
|
||||
Allow from all
|
||||
</Directory>
|
||||
|
@ -45,11 +45,11 @@ in
|
||||
|
||||
deployDir = mkOption {
|
||||
description = "Location of the deployment files";
|
||||
default = "/nix/var/nix/profiles/default/server/default/deploy/";
|
||||
default = "${config.nixpkgs.config.nix.stateDir}/nix/profiles/default/server/default/deploy/";
|
||||
};
|
||||
|
||||
libUrl = mkOption {
|
||||
default = "file:///nix/var/nix/profiles/default/server/default/lib";
|
||||
default = "file://${config.nixpkgs.config.nix.stateDir}/nix/profiles/default/server/default/lib";
|
||||
description = "Location where the shared library JARs are stored";
|
||||
};
|
||||
|
||||
|
@ -76,7 +76,7 @@ in
|
||||
ln -sfn "$(readlink -f "$systemConfig")" /var/run/current-system
|
||||
|
||||
# Prevent the current configuration from being garbage-collected.
|
||||
ln -sfn /var/run/current-system /nix/var/nix/gcroots/current-system
|
||||
ln -sfn /var/run/current-system ${config.nixpkgs.config.nix.stateDir}/nix/gcroots/current-system
|
||||
'';
|
||||
};
|
||||
|
||||
|
@ -217,7 +217,7 @@ let
|
||||
|
||||
|
||||
# The initrd only has to mount / or any FS marked as necessary for
|
||||
# booting (such as the FS containing /nix/store, or an FS needed for
|
||||
# booting (such as the FS containing ${config.nixpkgs.config.nix.storeDir}, or an FS needed for
|
||||
# mounting /, like / on a loopback).
|
||||
fileSystems = filter
|
||||
(fs: fs.mountPoint == "/" || fs.neededForBoot)
|
||||
|
@ -10,7 +10,7 @@ let
|
||||
environment.etc = mkOption {
|
||||
default = [];
|
||||
example = [
|
||||
{ source = "/nix/store/.../etc/dir/file.conf.example";
|
||||
{ source = "${config.nixpkgs.config.nix.storeDir}/.../etc/dir/file.conf.example";
|
||||
target = "dir/file.conf";
|
||||
mode = "0440";
|
||||
}
|
||||
|
@ -112,7 +112,7 @@ with pkgs.lib;
|
||||
# (For instance, when applied to a bind-mount it
|
||||
# unmounts the target of the bind-mount.) !!! But
|
||||
# we should use `-f' for NFS.
|
||||
if [ "$mp" != / -a "$mp" != /nix -a "$mp" != /nix/store ]; then
|
||||
if [ "$mp" != / -a "$mp" != /nix -a "$mp" != ${config.nixpkgs.config.nix.storeDir} ]; then
|
||||
if umount -n "$mp"; then success=1; tryAgain=1; fi
|
||||
fi
|
||||
|
||||
|
@ -34,9 +34,9 @@ with pkgs.lib;
|
||||
# Copy all paths in the closure to the filesystem.
|
||||
storePaths=$(perl ${pkgs.pathsFromGraph} /tmp/xchg/closure)
|
||||
|
||||
mkdir -p /mnt/nix/store
|
||||
mkdir -p /mnt${config.nixpkgs.config.nix.storeDir}
|
||||
echo "copying everything (will take a while)..."
|
||||
cp -prd $storePaths /mnt/nix/store/
|
||||
cp -prd $storePaths /mnt${config.nixpkgs.config.nix.storeDir}/
|
||||
|
||||
# Register the paths in the Nix database.
|
||||
printRegistration=1 perl ${pkgs.pathsFromGraph} /tmp/xchg/closure | \
|
||||
@ -44,7 +44,7 @@ with pkgs.lib;
|
||||
|
||||
# Create the system profile to allow nixos-rebuild to work.
|
||||
chroot /mnt ${config.environment.nix}/bin/nix-env \
|
||||
-p /nix/var/nix/profiles/system --set ${config.system.build.toplevel}
|
||||
-p ${config.nixpkgs.config.nix.stateDir}/nix/profiles/system --set ${config.system.build.toplevel}
|
||||
|
||||
# `nixos-rebuild' requires an /etc/NIXOS.
|
||||
mkdir -p /mnt/etc
|
||||
|
@ -41,8 +41,8 @@ with pkgs.lib;
|
||||
# Copy all paths in the closure to the filesystem.
|
||||
storePaths=$(perl ${pkgs.pathsFromGraph} /tmp/xchg/closure)
|
||||
|
||||
mkdir -p /mnt/nix/store
|
||||
${pkgs.rsync}/bin/rsync -av $storePaths /mnt/nix/store/
|
||||
mkdir -p /mnt${config.nixpkgs.config.nix.storeDir}
|
||||
${pkgs.rsync}/bin/rsync -av $storePaths /mnt${config.nixpkgs.config.nix.storeDir}/
|
||||
|
||||
# Register the paths in the Nix database.
|
||||
printRegistration=1 perl ${pkgs.pathsFromGraph} /tmp/xchg/closure | \
|
||||
@ -50,7 +50,7 @@ with pkgs.lib;
|
||||
|
||||
# Create the system profile to allow nixos-rebuild to work.
|
||||
chroot /mnt ${config.environment.nix}/bin/nix-env \
|
||||
-p /nix/var/nix/profiles/system --set ${config.system.build.toplevel}
|
||||
-p ${config.nixpkgs.config.nix.stateDir}/nix/profiles/system --set ${config.system.build.toplevel}
|
||||
|
||||
# `nixos-rebuild' requires an /etc/NIXOS.
|
||||
mkdir -p /mnt/etc
|
||||
|
@ -222,7 +222,7 @@ let
|
||||
|
||||
# Install GRUB and generate the GRUB boot menu.
|
||||
touch /etc/NIXOS
|
||||
mkdir -p /nix/var/nix/profiles
|
||||
mkdir -p ${config.nixpkgs.config.nix.stateDir}/nix/profiles
|
||||
${config.system.build.toplevel}/bin/switch-to-configuration boot
|
||||
|
||||
umount /boot
|
||||
@ -276,11 +276,11 @@ in
|
||||
chmod 1777 $targetRoot/tmp
|
||||
|
||||
mkdir -p $targetRoot/boot
|
||||
mount -o remount,ro $targetRoot/nix/store
|
||||
mount -o remount,ro $targetRoot${config.nixpkgs.config.nix.storeDir}
|
||||
${optionalString cfg.writableStore ''
|
||||
mkdir /mnt-store-tmpfs
|
||||
mount -t tmpfs -o "mode=755" none /mnt-store-tmpfs
|
||||
mount -t aufs -o dirs=/mnt-store-tmpfs=rw:$targetRoot/nix/store=rr none $targetRoot/nix/store
|
||||
mount -t aufs -o dirs=/mnt-store-tmpfs=rw:$targetRoot${config.nixpkgs.config.nix.storeDir}=rr none $targetRoot${config.nixpkgs.config.nix.storeDir}
|
||||
''}
|
||||
'';
|
||||
|
||||
@ -314,7 +314,7 @@ in
|
||||
[ { mountPoint = "/";
|
||||
device = "/dev/vda";
|
||||
}
|
||||
{ mountPoint = "/nix/store";
|
||||
{ mountPoint = "${config.nixpkgs.config.nix.storeDir}";
|
||||
device = "//10.0.2.4/store";
|
||||
fsType = "cifs";
|
||||
options = "guest,sec=none,noperm,noacl";
|
||||
|
Loading…
Reference in New Issue
Block a user