diff --git a/nixos/lib/make-disk-image.nix b/nixos/lib/make-disk-image.nix
index 8a3d8ed1770..b7a38760dd3 100644
--- a/nixos/lib/make-disk-image.nix
+++ b/nixos/lib/make-disk-image.nix
@@ -84,7 +84,7 @@ let format' = format; in let
nixpkgs = cleanSource pkgs.path;
- channelSources = pkgs.runCommand "nixos-${config.system.nixosVersion}" {} ''
+ channelSources = pkgs.runCommand "nixos-${config.system.nixos.version}" {} ''
mkdir -p $out
cp -prd ${nixpkgs} $out/nixos
chmod -R u+w $out/nixos
@@ -92,7 +92,7 @@ let format' = format; in let
ln -s . $out/nixos/nixpkgs
fi
rm -rf $out/nixos/.git
- echo -n ${config.system.nixosVersionSuffix} > $out/nixos/.version-suffix
+ echo -n ${config.system.nixos.versionSuffix} > $out/nixos/.version-suffix
'';
metaClosure = pkgs.writeText "meta" ''
diff --git a/nixos/modules/installer/cd-dvd/channel.nix b/nixos/modules/installer/cd-dvd/channel.nix
index ddb00f174d1..4a198316795 100644
--- a/nixos/modules/installer/cd-dvd/channel.nix
+++ b/nixos/modules/installer/cd-dvd/channel.nix
@@ -12,7 +12,7 @@ let
# CD. These are installed into the "nixos" channel of the root
# user, as expected by nixos-rebuild/nixos-install. FIXME: merge
# with make-channel.nix.
- channelSources = pkgs.runCommand "nixos-${config.system.nixosVersion}"
+ channelSources = pkgs.runCommand "nixos-${config.system.nixos.version}"
{ }
''
mkdir -p $out
@@ -21,7 +21,7 @@ let
if [ ! -e $out/nixos/nixpkgs ]; then
ln -s . $out/nixos/nixpkgs
fi
- echo -n ${config.system.nixosVersionSuffix} > $out/nixos/.version-suffix
+ echo -n ${config.system.nixos.versionSuffix} > $out/nixos/.version-suffix
'';
in
diff --git a/nixos/modules/installer/cd-dvd/installation-cd-base.nix b/nixos/modules/installer/cd-dvd/installation-cd-base.nix
index 2569860a098..756c8751d00 100644
--- a/nixos/modules/installer/cd-dvd/installation-cd-base.nix
+++ b/nixos/modules/installer/cd-dvd/installation-cd-base.nix
@@ -16,7 +16,7 @@ with lib;
];
# ISO naming.
- isoImage.isoName = "${config.isoImage.isoBaseName}-${config.system.nixosLabel}-${pkgs.stdenv.system}.iso";
+ isoImage.isoName = "${config.isoImage.isoBaseName}-${config.system.nixos.label}-${pkgs.stdenv.system}.iso";
isoImage.volumeID = substring 0 11 "NIXOS_ISO";
diff --git a/nixos/modules/installer/cd-dvd/iso-image.nix b/nixos/modules/installer/cd-dvd/iso-image.nix
index a039f7fdcb6..811449e9fe7 100644
--- a/nixos/modules/installer/cd-dvd/iso-image.nix
+++ b/nixos/modules/installer/cd-dvd/iso-image.nix
@@ -39,31 +39,31 @@ let
DEFAULT boot
LABEL boot
- MENU LABEL NixOS ${config.system.nixosLabel}${config.isoImage.appendToMenuLabel}
- LINUX /boot/bzImage
+ MENU LABEL NixOS ${config.system.nixos.label}${config.isoImage.appendToMenuLabel}
+ LINUX /boot/${config.system.boot.loader.kernelFile}
APPEND init=${config.system.build.toplevel}/init ${toString config.boot.kernelParams}
- INITRD /boot/initrd
+ INITRD /boot/${config.system.boot.loader.initrdFile}
# A variant to boot with 'nomodeset'
LABEL boot-nomodeset
- MENU LABEL NixOS ${config.system.nixosVersion}${config.isoImage.appendToMenuLabel} (nomodeset)
- LINUX /boot/bzImage
+ MENU LABEL NixOS ${config.system.nixos.label}${config.isoImage.appendToMenuLabel} (nomodeset)
+ LINUX /boot/${config.system.boot.loader.kernelFile}
APPEND init=${config.system.build.toplevel}/init ${toString config.boot.kernelParams} nomodeset
- INITRD /boot/initrd
+ INITRD /boot/${config.system.boot.loader.initrdFile}
# A variant to boot with 'copytoram'
LABEL boot-copytoram
- MENU LABEL NixOS ${config.system.nixosVersion}${config.isoImage.appendToMenuLabel} (copytoram)
- LINUX /boot/bzImage
+ MENU LABEL NixOS ${config.system.nixos.label}${config.isoImage.appendToMenuLabel} (copytoram)
+ LINUX /boot/${config.system.boot.loader.kernelFile}
APPEND init=${config.system.build.toplevel}/init ${toString config.boot.kernelParams} copytoram
- INITRD /boot/initrd
+ INITRD /boot/${config.system.boot.loader.initrdFile}
# A variant to boot with verbose logging to the console
LABEL boot-nomodeset
- MENU LABEL NixOS ${config.system.nixosVersion}${config.isoImage.appendToMenuLabel} (debug)
- LINUX /boot/bzImage
+ MENU LABEL NixOS ${config.system.nixos.label}${config.isoImage.appendToMenuLabel} (debug)
+ LINUX /boot/${config.system.boot.loader.kernelFile}
APPEND init=${config.system.build.toplevel}/init ${toString config.boot.kernelParams} loglevel=7
- INITRD /boot/initrd
+ INITRD /boot/${config.system.boot.loader.initrdFile}
'';
isolinuxMemtest86Entry = ''
@@ -82,35 +82,35 @@ let
mkdir -p $out/loader/entries
cat << EOF > $out/loader/entries/nixos-iso.conf
- title NixOS ${config.system.nixosVersion}${config.isoImage.appendToMenuLabel}
- linux /boot/bzImage
- initrd /boot/initrd
+ title NixOS ${config.system.nixos.label}${config.isoImage.appendToMenuLabel}
+ linux /boot/${config.system.boot.loader.kernelFile}
+ initrd /boot/${config.system.boot.loader.initrdFile}
options init=${config.system.build.toplevel}/init ${toString config.boot.kernelParams}
EOF
# A variant to boot with 'nomodeset'
cat << EOF > $out/loader/entries/nixos-iso-nomodeset.conf
- title NixOS ${config.system.nixosVersion}${config.isoImage.appendToMenuLabel}
+ title NixOS ${config.system.nixos.label}${config.isoImage.appendToMenuLabel}
version nomodeset
- linux /boot/bzImage
- initrd /boot/initrd
+ linux /boot/${config.system.boot.loader.kernelFile}
+ initrd /boot/${config.system.boot.loader.initrdFile}
options init=${config.system.build.toplevel}/init ${toString config.boot.kernelParams} nomodeset
EOF
# A variant to boot with 'copytoram'
cat << EOF > $out/loader/entries/nixos-iso-copytoram.conf
- title NixOS ${config.system.nixosVersion}${config.isoImage.appendToMenuLabel}
+ title NixOS ${config.system.nixos.label}${config.isoImage.appendToMenuLabel}
version copytoram
- linux /boot/bzImage
- initrd /boot/initrd
+ linux /boot/${config.system.boot.loader.kernelFile}
+ initrd /boot/${config.system.boot.loader.initrdFile}
options init=${config.system.build.toplevel}/init ${toString config.boot.kernelParams} copytoram
EOF
# A variant to boot with verbose logging to the console
cat << EOF > $out/loader/entries/nixos-iso-debug.conf
- title NixOS ${config.system.nixosVersion}${config.isoImage.appendToMenuLabel} (debug)
- linux /boot/bzImage
- initrd /boot/initrd
+ title NixOS ${config.system.nixos.label}${config.isoImage.appendToMenuLabel} (debug)
+ linux /boot/${config.system.boot.loader.kernelFile}
+ initrd /boot/${config.system.boot.loader.initrdFile}
options init=${config.system.build.toplevel}/init ${toString config.boot.kernelParams} loglevel=7
EOF
@@ -127,8 +127,8 @@ let
mkdir ./contents && cd ./contents
cp -rp "${efiDir}"/* .
mkdir ./boot
- cp -p "${config.boot.kernelPackages.kernel}/bzImage" \
- "${config.system.build.initialRamdisk}/initrd" ./boot/
+ cp -p "${config.boot.kernelPackages.kernel}/${config.system.boot.loader.kernelFile}" \
+ "${config.system.build.initialRamdisk}/${config.system.boot.loader.initrdFile}" ./boot/
touch --date=@0 ./*
usage_size=$(du -sb --apparent-size . | tr -cd '[:digit:]')
@@ -346,11 +346,11 @@ in
};
target = "/isolinux/isolinux.cfg";
}
- { source = config.boot.kernelPackages.kernel + "/bzImage";
- target = "/boot/bzImage";
+ { source = config.boot.kernelPackages.kernel + "/" + config.system.boot.loader.kernelFile;
+ target = "/boot/" + config.system.boot.loader.kernelFile;
}
- { source = config.system.build.initialRamdisk + "/initrd";
- target = "/boot/initrd";
+ { source = config.system.build.initialRamdisk + "/" + config.system.boot.loader.initrdFile;
+ target = "/boot/" + config.system.boot.loader.initrdFile;
}
{ source = config.system.build.squashfsStore;
target = "/nix-store.squashfs";
@@ -361,7 +361,7 @@ in
{ source = config.isoImage.splashImage;
target = "/isolinux/background.png";
}
- { source = pkgs.writeText "version" config.system.nixosVersion;
+ { source = pkgs.writeText "version" config.system.nixos.label;
target = "/version.txt";
}
] ++ optionals config.isoImage.makeEfiBootable [
diff --git a/nixos/modules/installer/cd-dvd/system-tarball.nix b/nixos/modules/installer/cd-dvd/system-tarball.nix
index 1962a1959ea..e72d4a5b491 100644
--- a/nixos/modules/installer/cd-dvd/system-tarball.nix
+++ b/nixos/modules/installer/cd-dvd/system-tarball.nix
@@ -8,7 +8,7 @@ with lib;
let
- versionFile = pkgs.writeText "nixos-version" config.system.nixosVersion;
+ versionFile = pkgs.writeText "nixos-label" config.system.nixos.label;
in
@@ -58,8 +58,8 @@ in
# Individual files to be included on the CD, outside of the Nix
# store on the CD.
tarball.contents =
- [ { source = config.system.build.initialRamdisk + "/initrd";
- target = "/boot/initrd";
+ [ { source = config.system.build.initialRamdisk + "/" + config.system.boot.loader.initrdFile;
+ target = "/boot/" + config.system.boot.loader.initrdFile;
}
{ source = versionFile;
target = "/nixos-version.txt";
diff --git a/nixos/modules/installer/tools/nixos-generate-config.pl b/nixos/modules/installer/tools/nixos-generate-config.pl
index 7c737e84de0..a82ee63fd0c 100644
--- a/nixos/modules/installer/tools/nixos-generate-config.pl
+++ b/nixos/modules/installer/tools/nixos-generate-config.pl
@@ -625,7 +625,7 @@ $bootLoaderConfig
# compatible, in order to avoid breaking some software such as database
# servers. You should change this only after NixOS release notes say you
# should.
- system.stateVersion = "${\(qw(@nixosRelease@))}"; # Did you read the comment?
+ system.stateVersion = "${\(qw(@release@))}"; # Did you read the comment?
}
EOF
diff --git a/nixos/modules/installer/tools/nixos-version.sh b/nixos/modules/installer/tools/nixos-version.sh
index 77a1b458a34..190c49a33ec 100644
--- a/nixos/modules/installer/tools/nixos-version.sh
+++ b/nixos/modules/installer/tools/nixos-version.sh
@@ -6,9 +6,9 @@ case "$1" in
exit 1
;;
--hash|--revision)
- echo "@nixosRevision@"
+ echo "@revision@"
;;
*)
- echo "@nixosVersion@ (@nixosCodeName@)"
+ echo "@version@ (@codeName@)"
;;
esac
diff --git a/nixos/modules/installer/tools/tools.nix b/nixos/modules/installer/tools/tools.nix
index a3bae78c0ff..eab5f114766 100644
--- a/nixos/modules/installer/tools/tools.nix
+++ b/nixos/modules/installer/tools/tools.nix
@@ -55,7 +55,7 @@ let
src = ./nixos-generate-config.pl;
path = [ pkgs.btrfs-progs ];
perl = "${pkgs.perl}/bin/perl -I${pkgs.perlPackages.FileSlurp}/lib/perl5/site_perl";
- inherit (config.system) nixosRelease;
+ inherit (config.system.nixos) release;
};
nixos-option = makeProg {
@@ -66,7 +66,7 @@ let
nixos-version = makeProg {
name = "nixos-version";
src = ./nixos-version.sh;
- inherit (config.system) nixosVersion nixosCodeName nixosRevision;
+ inherit (config.system.nixos) version codeName revision;
};
in
diff --git a/nixos/modules/misc/label.nix b/nixos/modules/misc/label.nix
new file mode 100644
index 00000000000..250914e8f82
--- /dev/null
+++ b/nixos/modules/misc/label.nix
@@ -0,0 +1,72 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+ cfg = config.system.nixos;
+in
+
+{
+
+ options.system = {
+
+ nixos.label = mkOption {
+ type = types.str;
+ description = ''
+ NixOS version name to be used in the names of generated
+ outputs and boot labels.
+
+ If you ever wanted to influence the labels in your GRUB menu,
+ this is the option for you.
+
+ The default is separated by
+ "-" + "-" + NIXOS_LABEL_VERSION environment
+ variable (defaults to the value of
+ ).
+
+ Can be overriden by setting NIXOS_LABEL.
+
+ Useful for not loosing track of configurations built from different
+ nixos branches/revisions, e.g.:
+
+
+ #!/bin/sh
+ today=`date +%Y%m%d`
+ branch=`(cd nixpkgs ; git branch 2>/dev/null | sed -n '/^\* / { s|^\* ||; p; }')`
+ revision=`(cd nixpkgs ; git rev-parse HEAD)`
+ export NIXOS_LABEL_VERSION="$today.$branch-''${revision:0:7}"
+ nixos-rebuild switch
+ '';
+ };
+
+ nixos.tags = mkOption {
+ type = types.listOf types.str;
+ default = [];
+ example = [ "with-xen" ];
+ description = ''
+ Strings to prefix to the default
+ .
+
+ Useful for not loosing track of configurations built with
+ different options, e.g.:
+
+
+ {
+ system.nixos.tags = [ "with-xen" ];
+ virtualisation.xen.enable = true;
+ }
+
+ '';
+ };
+
+ };
+
+ config = {
+ # This is set here rather than up there so that changing it would
+ # not rebuild the manual
+ system.nixos.label = mkDefault (maybeEnv "NIXOS_LABEL"
+ (concatStringsSep "-" (sort (x: y: x < y) cfg.tags)
+ + "-" + maybeEnv "NIXOS_LABEL_VERSION" cfg.version));
+ };
+
+}
diff --git a/nixos/modules/misc/version.nix b/nixos/modules/misc/version.nix
index 48cde2ebbc8..6af584250a7 100644
--- a/nixos/modules/misc/version.nix
+++ b/nixos/modules/misc/version.nix
@@ -3,7 +3,7 @@
with lib;
let
- cfg = config.system;
+ cfg = config.system.nixos;
releaseFile = "${toString pkgs.path}/.version";
suffixFile = "${toString pkgs.path}/.version-suffix";
@@ -16,9 +16,44 @@ in
options.system = {
+ nixos.version = mkOption {
+ internal = true;
+ type = types.str;
+ description = "The full NixOS version (e.g. 16.03.1160.f2d4ee1).";
+ };
+
+ nixos.release = mkOption {
+ readOnly = true;
+ type = types.str;
+ default = fileContents releaseFile;
+ description = "The NixOS release (e.g. 16.03).";
+ };
+
+ nixos.versionSuffix = mkOption {
+ internal = true;
+ type = types.str;
+ default = if pathExists suffixFile then fileContents suffixFile else "pre-git";
+ description = "The NixOS version suffix (e.g. 1160.f2d4ee1).";
+ };
+
+ nixos.revision = mkOption {
+ internal = true;
+ type = types.str;
+ default = if pathIsDirectory gitRepo then commitIdFromGitRepo gitRepo
+ else if pathExists revisionFile then fileContents revisionFile
+ else "master";
+ description = "The Git revision from which this NixOS configuration was built.";
+ };
+
+ nixos.codeName = mkOption {
+ readOnly = true;
+ type = types.str;
+ description = "The NixOS release code name (e.g. Emu).";
+ };
+
stateVersion = mkOption {
type = types.str;
- default = cfg.nixosRelease;
+ default = cfg.release;
description = ''
Every once in a while, a new NixOS release may change
configuration defaults in a way incompatible with stateful
@@ -32,49 +67,6 @@ in
'';
};
- nixosLabel = mkOption {
- type = types.str;
- description = ''
- Label to be used in the names of generated outputs and boot
- labels.
- '';
- };
-
- nixosVersion = mkOption {
- internal = true;
- type = types.str;
- description = "The full NixOS version (e.g. 16.03.1160.f2d4ee1).";
- };
-
- nixosRelease = mkOption {
- readOnly = true;
- type = types.str;
- default = fileContents releaseFile;
- description = "The NixOS release (e.g. 16.03).";
- };
-
- nixosVersionSuffix = mkOption {
- internal = true;
- type = types.str;
- default = if pathExists suffixFile then fileContents suffixFile else "pre-git";
- description = "The NixOS version suffix (e.g. 1160.f2d4ee1).";
- };
-
- nixosRevision = mkOption {
- internal = true;
- type = types.str;
- default = if pathIsDirectory gitRepo then commitIdFromGitRepo gitRepo
- else if pathExists revisionFile then fileContents revisionFile
- else "master";
- description = "The Git revision from which this NixOS configuration was built.";
- };
-
- nixosCodeName = mkOption {
- readOnly = true;
- type = types.str;
- description = "The NixOS release code name (e.g. Emu).";
- };
-
defaultChannel = mkOption {
internal = true;
type = types.str;
@@ -86,16 +78,15 @@ in
config = {
- system = {
+ system.nixos = {
# These defaults are set here rather than up there so that
# changing them would not rebuild the manual
- nixosLabel = mkDefault cfg.nixosVersion;
- nixosVersion = mkDefault (cfg.nixosRelease + cfg.nixosVersionSuffix);
- nixosRevision = mkIf (pathIsDirectory gitRepo) (mkDefault gitCommitId);
- nixosVersionSuffix = mkIf (pathIsDirectory gitRepo) (mkDefault (".git." + gitCommitId));
+ version = mkDefault (cfg.release + cfg.versionSuffix);
+ revision = mkIf (pathIsDirectory gitRepo) (mkDefault gitCommitId);
+ versionSuffix = mkIf (pathIsDirectory gitRepo) (mkDefault (".git." + gitCommitId));
# Note: code names must only increase in alphabetical order.
- nixosCodeName = "Impala";
+ codeName = "Impala";
};
# Generate /etc/os-release. See
@@ -105,10 +96,10 @@ in
''
NAME=NixOS
ID=nixos
- VERSION="${config.system.nixosVersion} (${config.system.nixosCodeName})"
- VERSION_CODENAME=${toLower config.system.nixosCodeName}
- VERSION_ID="${config.system.nixosVersion}"
- PRETTY_NAME="NixOS ${config.system.nixosVersion} (${config.system.nixosCodeName})"
+ VERSION="${cfg.version} (${cfg.codeName})"
+ VERSION_CODENAME=${toLower cfg.codeName}
+ VERSION_ID="${cfg.version}"
+ PRETTY_NAME="NixOS ${cfg.version} (${cfg.codeName})"
HOME_URL="https://nixos.org/"
SUPPORT_URL="https://nixos.org/nixos/support.html"
BUG_REPORT_URL="https://github.com/NixOS/nixpkgs/issues"
diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix
index 01bd2960517..a3f820a35a1 100644
--- a/nixos/modules/module-list.nix
+++ b/nixos/modules/module-list.nix
@@ -60,6 +60,7 @@
./misc/extra-arguments.nix
./misc/ids.nix
./misc/lib.nix
+ ./misc/label.nix
./misc/locate.nix
./misc/meta.nix
./misc/nixpkgs.nix
diff --git a/nixos/modules/rename.nix b/nixos/modules/rename.nix
index 710387ebc1d..da83baed371 100644
--- a/nixos/modules/rename.nix
+++ b/nixos/modules/rename.nix
@@ -189,6 +189,14 @@ with lib;
# Profile splitting
(mkRenamedOptionModule [ "virtualization" "growPartition" ] [ "boot" "growPartition" ])
+ # misc/version.nix
+ (mkRenamedOptionModule [ "config" "system" "nixosVersion" ] [ "config" "system" "nixos" "version" ])
+ (mkRenamedOptionModule [ "config" "system" "nixosRelease" ] [ "config" "system" "nixos" "release" ])
+ (mkRenamedOptionModule [ "config" "system" "nixosVersionSuffix" ] [ "config" "system" "nixos" "versionSuffix" ])
+ (mkRenamedOptionModule [ "config" "system" "nixosRevision" ] [ "config" "system" "nixos" "revision" ])
+ (mkRenamedOptionModule [ "config" "system" "nixosCodeName" ] [ "config" "system" "nixos" "codeName" ])
+ (mkRenamedOptionModule [ "config" "system" "nixosLabel" ] [ "config" "system" "nixos" "label" ])
+
# Options that are obsolete and have no replacement.
(mkRemovedOptionModule [ "boot" "initrd" "luks" "enable" ] "")
(mkRemovedOptionModule [ "programs" "bash" "enable" ] "")
diff --git a/nixos/modules/services/misc/nixos-manual.nix b/nixos/modules/services/misc/nixos-manual.nix
index 41cadb4a6de..5d0f2abd13a 100644
--- a/nixos/modules/services/misc/nixos-manual.nix
+++ b/nixos/modules/services/misc/nixos-manual.nix
@@ -16,10 +16,10 @@ let
It isn't perfect, but it seems to cover a vast majority of use cases.
Caveat: even if the package is reached by a different means,
the path above will be shown and not e.g. `${config.services.foo.package}`. */
- manual = import ../../../doc/manual {
+ manual = import ../../../doc/manual rec {
inherit pkgs config;
- version = config.system.nixosRelease;
- revision = "release-${config.system.nixosRelease}";
+ version = config.system.nixos.release;
+ revision = "release-${version}";
options =
let
scrubbedEval = evalModules {
diff --git a/nixos/modules/services/misc/ssm-agent.nix b/nixos/modules/services/misc/ssm-agent.nix
index c1e1f090353..a57fbca86fb 100644
--- a/nixos/modules/services/misc/ssm-agent.nix
+++ b/nixos/modules/services/misc/ssm-agent.nix
@@ -12,7 +12,7 @@ let
case "$1" in
-i) echo "nixos";;
- -r) echo "${config.system.nixosVersion}";;
+ -r) echo "${config.system.nixos.version}";;
esac
'';
in {
diff --git a/nixos/modules/services/ttys/agetty.nix b/nixos/modules/services/ttys/agetty.nix
index 3429397d2cc..b50de496e97 100644
--- a/nixos/modules/services/ttys/agetty.nix
+++ b/nixos/modules/services/ttys/agetty.nix
@@ -64,8 +64,8 @@ in
config = {
# Note: this is set here rather than up there so that changing
- # nixosLabel would not rebuild manual pages
- services.mingetty.greetingLine = mkDefault ''<<< Welcome to NixOS ${config.system.nixosLabel} (\m) - \l >>>'';
+ # nixos.label would not rebuild manual pages
+ services.mingetty.greetingLine = mkDefault ''<<< Welcome to NixOS ${config.system.nixos.label} (\m) - \l >>>'';
systemd.services."getty@" =
{ serviceConfig.ExecStart = [
diff --git a/nixos/modules/system/activation/top-level.nix b/nixos/modules/system/activation/top-level.nix
index 0c50241f2ed..091a2e412ee 100644
--- a/nixos/modules/system/activation/top-level.nix
+++ b/nixos/modules/system/activation/top-level.nix
@@ -30,6 +30,8 @@ let
let
kernelPath = "${config.boot.kernelPackages.kernel}/" +
"${config.system.boot.loader.kernelFile}";
+ initrdPath = "${config.system.build.initialRamdisk}/" +
+ "${config.system.boot.loader.initrdFile}";
in ''
mkdir $out
@@ -50,7 +52,7 @@ let
echo -n "$kernelParams" > $out/kernel-params
- ln -s ${config.system.build.initialRamdisk}/initrd $out/initrd
+ ln -s ${initrdPath} $out/initrd
ln -s ${config.system.build.initialRamdiskSecretAppender}/bin/append-initrd-secrets $out
@@ -106,7 +108,7 @@ let
if [] == failed then pkgs.stdenvNoCC.mkDerivation {
name = let hn = config.networking.hostName;
nn = if (hn != "") then hn else "unnamed";
- in "nixos-system-${nn}-${config.system.nixosLabel}";
+ in "nixos-system-${nn}-${config.system.nixos.label}";
preferLocalBuild = true;
allowSubstitutes = false;
buildCommand = systemBuilder;
@@ -120,7 +122,7 @@ let
config.system.build.installBootLoader
or "echo 'Warning: do not know how to make this configuration bootable; please enable a boot loader.' 1>&2; true";
activationScript = config.system.activationScripts.script;
- nixosLabel = config.system.nixosLabel;
+ nixosLabel = config.system.nixos.label;
configurationName = config.boot.loader.grub.configurationName;
@@ -179,6 +181,15 @@ in
'';
};
+ system.boot.loader.initrdFile = mkOption {
+ internal = true;
+ default = "initrd";
+ type = types.str;
+ description = ''
+ Name of the initrd file to be passed to the bootloader.
+ '';
+ };
+
system.copySystemConfiguration = mkOption {
type = types.bool;
default = false;
diff --git a/nixos/modules/virtualisation/brightbox-image.nix b/nixos/modules/virtualisation/brightbox-image.nix
index 08bbcfd9d7c..39a655b4c10 100644
--- a/nixos/modules/virtualisation/brightbox-image.nix
+++ b/nixos/modules/virtualisation/brightbox-image.nix
@@ -26,7 +26,7 @@ in
rm $diskImageBase
popd
'';
- diskImageBase = "nixos-image-${config.system.nixosLabel}-${pkgs.stdenv.system}.raw";
+ diskImageBase = "nixos-image-${config.system.nixos.label}-${pkgs.stdenv.system}.raw";
buildInputs = [ pkgs.utillinux pkgs.perl ];
exportReferencesGraph =
[ "closure" config.system.build.toplevel ];
diff --git a/nixos/modules/virtualisation/google-compute-image.nix b/nixos/modules/virtualisation/google-compute-image.nix
index 2fb38059b26..155a33b3bb3 100644
--- a/nixos/modules/virtualisation/google-compute-image.nix
+++ b/nixos/modules/virtualisation/google-compute-image.nix
@@ -14,7 +14,7 @@ in
PATH=$PATH:${pkgs.stdenv.lib.makeBinPath [ pkgs.gnutar pkgs.gzip ]}
pushd $out
mv $diskImage disk.raw
- tar -Szcf nixos-image-${config.system.nixosLabel}-${pkgs.stdenv.system}.raw.tar.gz disk.raw
+ tar -Szcf nixos-image-${config.system.nixos.label}-${pkgs.stdenv.system}.raw.tar.gz disk.raw
rm $out/disk.raw
popd
'';
diff --git a/nixos/modules/virtualisation/virtualbox-image.nix b/nixos/modules/virtualisation/virtualbox-image.nix
index a544403e6be..64f145f77ca 100644
--- a/nixos/modules/virtualisation/virtualbox-image.nix
+++ b/nixos/modules/virtualisation/virtualbox-image.nix
@@ -22,7 +22,7 @@ in {
config = {
system.build.virtualBoxOVA = import ../../lib/make-disk-image.nix {
- name = "nixos-ova-${config.system.nixosLabel}-${pkgs.stdenv.system}";
+ name = "nixos-ova-${config.system.nixos.label}-${pkgs.stdenv.system}";
inherit pkgs lib config;
partitionTableType = "legacy";
@@ -37,7 +37,7 @@ in {
VBoxManage internalcommands createrawvmdk -filename disk.vmdk -rawdisk $diskImage
echo "creating VirtualBox VM..."
- vmName="NixOS ${config.system.nixosLabel} (${pkgs.stdenv.system})"
+ vmName="NixOS ${config.system.nixos.label} (${pkgs.stdenv.system})"
VBoxManage createvm --name "$vmName" --register \
--ostype ${if pkgs.stdenv.system == "x86_64-linux" then "Linux26_64" else "Linux26"}
VBoxManage modifyvm "$vmName" \
@@ -53,7 +53,7 @@ in {
echo "exporting VirtualBox VM..."
mkdir -p $out
- fn="$out/nixos-${config.system.nixosLabel}-${pkgs.stdenv.system}.ova"
+ fn="$out/nixos-${config.system.nixos.label}-${pkgs.stdenv.system}.ova"
VBoxManage export "$vmName" --output "$fn"
rm -v $diskImage
diff --git a/nixos/release.nix b/nixos/release.nix
index 6bf2e4d8c7f..8095dfeab84 100644
--- a/nixos/release.nix
+++ b/nixos/release.nix
@@ -35,8 +35,8 @@ let
versionModule =
- { system.nixosVersionSuffix = versionSuffix;
- system.nixosRevision = nixpkgs.rev or nixpkgs.shortRev;
+ { system.nixos.versionSuffix = versionSuffix;
+ system.nixos.revision = nixpkgs.rev or nixpkgs.shortRev;
};