chore: slight flake.nix refactor

This commit is contained in:
alina 🌸 2024-06-06 17:22:13 +03:00
parent 56e6ec5d8a
commit 4b3d875cb4
Signed by: teidesu
SSH key fingerprint: SHA256:uNeCpw6aTSU4aIObXLvHfLkDa82HWH9EiOj9AXOIRpI

View file

@ -52,50 +52,68 @@
, ... , ...
}: }:
let let
specialArgs = { specialArgsCommon = {
inherit inputs; inherit inputs;
abs = path: ./. + ("/" + path); abs = path: ./. + ("/" + path);
}; };
in
{ mkDarwinSystem = {
nixosConfigurations = { modules ? [],
koi = nixpkgs.lib.nixosSystem { specialArgs ? {},
system = "x86_64-linux"; }: let
specialArgsMerged = specialArgsCommon // specialArgs;
in nix-darwin.lib.darwinSystem {
modules = [ modules = [
agenix.nixosModules.default agenix.darwinModules.default
bootspec-secureboot.nixosModules.bootspec-secureboot home-manager.darwinModules.home-manager
home-manager.nixosModules.home-manager { home-manager.extraSpecialArgs = specialArgsMerged; }
{ home-manager.extraSpecialArgs = specialArgs; } ] ++ modules;
./hosts/koi/configuration.nix specialArgs = specialArgsMerged;
]; };
specialArgs = specialArgs // {
mkNixosSystem = {
system,
modules ? [],
specialArgs ? {}
}: let
specialArgsMerged = specialArgsCommon // specialArgs // {
pkgs-stable = import nixpkgs-stable { pkgs-stable = import nixpkgs-stable {
system = "x86_64-linux"; system = "x86_64-linux";
config = { allowUnfree = true; }; config = { allowUnfree = true; };
}; };
}; };
in nixpkgs.lib.nixosSystem {
inherit system;
modules = [
agenix.nixosModules.default
home-manager.nixosModules.home-manager
{ home-manager.extraSpecialArgs = specialArgsMerged; }
] ++ modules;
specialArgs = specialArgsMerged;
};
in
{
nixosConfigurations = {
koi = mkNixosSystem {
system = "x86_64-linux";
modules = [
bootspec-secureboot.nixosModules.bootspec-secureboot
./hosts/koi/configuration.nix
];
}; };
}; };
darwinConfigurations = { darwinConfigurations = {
teidesu-osx = nix-darwin.lib.darwinSystem { teidesu-osx = mkDarwinSystem {
modules = [ modules = [
agenix.darwinModules.default
home-manager.darwinModules.home-manager
{ home-manager.extraSpecialArgs = specialArgs; }
./hosts/teidesu-osx/configuration.nix ./hosts/teidesu-osx/configuration.nix
]; ];
inherit specialArgs;
}; };
airi = nix-darwin.lib.darwinSystem { airi = mkDarwinSystem {
modules = [ modules = [
agenix.darwinModules.default
home-manager.darwinModules.home-manager
{ home-manager.extraSpecialArgs = specialArgs; }
./hosts/airi/configuration.nix ./hosts/airi/configuration.nix
]; ];
inherit specialArgs;
}; };
}; };
}; };