feat(nix): pass flake self to darwin modules and add revision

This commit is contained in:
Mohammad Rafiq 2025-07-09 09:35:56 +08:00
parent 0f741cbb36
commit 45414c48b9
No known key found for this signature in database
5 changed files with 20 additions and 3 deletions

View file

@ -1,11 +1,14 @@
{
outputs =
inputs:
{ self, ... }@inputs:
inputs.flake-parts.lib.mkFlake { inherit inputs; } (
(inputs.import-tree ./nix)
// {
systems = import inputs.systems;
flake.paths.root = ./.;
flake = {
inherit self;
paths.root = ./.;
};
}
);
inputs = {

View file

@ -38,6 +38,7 @@ let
}
else if class == "darwin" then
darwinSystem {
specialArgs = { inherit (config.flake) self; };
modules = [ cfg.modules.darwin.default ];
}
else

View file

@ -56,6 +56,7 @@ let
in
{
options.flake = mkSubmoduleOptions {
self = mkOption { type = raw; };
lib = mkOption {
type = lazyAttrsOf raw;
default = { };

View file

@ -3,4 +3,11 @@
"nix-command"
"flakes"
];
flake.modules.darwin.default = {
nix.enable = false;
nix.settings.experimental-features = [
"nix-command"
"flakes"
];
};
}

View file

@ -12,6 +12,11 @@
{
home.stateVersion = osConfig.system.stateVersion;
};
darwin.default.system.stateVersion = 6;
darwin.default =
{ self, ... }:
{
system.configurationRevision = self.rev or self.dirtyRev or null;
system.stateVersion = 6;
};
};
}