The `state-version` module will now initialize the `stateVersion` from the currently set version. This makes migrating to the `state-version` module seamless.
22 lines
504 B
Nix
22 lines
504 B
Nix
{ config, lib, ... }:
|
|
let
|
|
var = config.clan.core.vars.generators.state-version.files.version or { };
|
|
in
|
|
{
|
|
config = lib.mkMerge [
|
|
(lib.mkIf ((var.value or null) != null) {
|
|
system.stateVersion = lib.mkDefault var.value;
|
|
})
|
|
|
|
{
|
|
clan.core.vars.generators.state-version = {
|
|
files.version.secret = false;
|
|
runtimeInputs = [ ];
|
|
script = ''
|
|
echo -n ${lib.versions.majorMinor config.system.stateVersion} > $out/version
|
|
'';
|
|
};
|
|
}
|
|
];
|
|
}
|