diff --git a/builders.nix b/builders.nix index 23d529a..79db1e6 100644 --- a/builders.nix +++ b/builders.nix @@ -1,4 +1,4 @@ -{ nixpkgs, self, ... }@inputs: +{ nixpkgs, nix-darwin, self, ... }@inputs: let makePkgs = system: (import nixpkgs { @@ -73,4 +73,25 @@ rec { builtins.listToAttrs (map toPartialHomeManagerConfig) systems; + + + toPartialDarwinConfig = + { user, hostname, system ? "aarch64-darwin", }: + nameValuePair + hostname + (nix-darwin.lib.darwinSystem { + pkgs = makePkgs system; + extraSpecialArgs = { inherit inputs self; }; + + modules = [ + ./hosts/${hostname}/configuration.nix + ]; + }); + + compileDarwinSystems = + systems: + lib.right + builtins.listToAttrs + (map toPartialDarwinConfig) + systems; } diff --git a/flake.nix b/flake.nix index d217c94..87d4090 100644 --- a/flake.nix +++ b/flake.nix @@ -11,6 +11,8 @@ dunst-theme = { url = "github:d2718nis/rose-pine-dunst"; flake = false; }; niri = { url = "github:sodiboo/niri-flake"; inputs.nixpkgs.follows = "nixpkgs"; }; + nix-darwin = { url = "github:LnL7/nix-darwin"; inputs.nixpkgs.follows = "nixpkgs"; }; + repo-clone.url = "git+https://git.zynh.me/Zynh0722/repo-clone"; fish_theme = { url = "git+https://git.zynh.me/Zynh0722/omf-theme"; flake = false; }; backgrounds = { url = "git+https://git.zynh.me/Zynh0722/backgrounds"; inputs.nixpkgs.follows = "nixpkgs"; }; @@ -30,11 +32,10 @@ homeConfigurations = builders.compileHomes [ { user = "zynh"; hostname = "msiserver"; } { user = "val"; hostname = "caveserver"; } - { - user = "zynh"; - hostname = "little-lightning"; - system = "aarch64-darwin"; - } + ]; + + darwinConfigurations = builders.compileDarwinSystems [ + { hostname = "little-lightning"; } ]; overlays.default = import ./pkgs;