vars/generators/state-version/default.nix

22 lines
656 B
Nix

{ config, lib, ... }:
let
var = config.vars.generators.state-version.files.version or { };
cfg = config.vars.state-version;
in
{
options.vars.state-version.enable = lib.mkEnableOption "Automatically generate the state version of the nixos installation.";
config = lib.mkIf cfg.enable {
system.stateVersion = lib.mkDefault (lib.removeSuffix "\n" var.value);
vars.generators.state-version = {
files.version = {
secret = false;
value = lib.mkDefault config.system.nixos.release;
};
runtimeInputs = [ ];
script = ''
echo -n ${config.system.stateVersion} > "$out"/version
'';
};
};
}