From 36ba568fc46df8fe2f142892bb1f9bc678a0ebe4 Mon Sep 17 00:00:00 2001 From: Daiderd Jordan Date: Sun, 1 Oct 2017 17:00:22 +0200 Subject: system-version: add assertioon for stateVersion --- modules/system/version.nix | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'modules/system') diff --git a/modules/system/version.nix b/modules/system/version.nix index 5a6b247..087e8dd 100644 --- a/modules/system/version.nix +++ b/modules/system/version.nix @@ -1,10 +1,12 @@ -{ config, lib, pkgs, ... }: +{ options, config, lib, pkgs, ... }: with lib; let cfg = config.system; + defaultStateVersion = options.system.stateVersion.default; + gitCommitId = lib.substring 0 7 (commitIdFromGitRepo gitRepo); gitRepo = "${toString pkgs.path}/.git"; releaseFile = "${toString pkgs.path}/.version"; @@ -72,5 +74,7 @@ in system.nixpkgsRevision = mkIf (pathIsDirectory gitRepo) (mkDefault gitCommitId); system.nixpkgsVersionSuffix = mkIf (pathIsDirectory gitRepo) (mkDefault (".git." + gitCommitId)); + assertions = [ { assertion = cfg.stateVersion <= defaultStateVersion; message = "system.stateVersion = ${toString cfg.stateVersion}; is not a valid value"; } ]; + }; } -- cgit v1.2.3