diff --git a/darwin/default.nix b/darwin/default.nix new file mode 100644 index 0000000..24bb569 --- /dev/null +++ b/darwin/default.nix @@ -0,0 +1,18 @@ +{ + inputs, + inputs', + lib, + ... +}: { + imports = + [ + inputs.agenix.darwinModules.default + inputs.home-manager.darwinModules.home-manager + ../common + ] + ++ lib.my.getModules [./.]; + + hm.imports = [./home.nix]; + + environment.systemPackages = [inputs'.agenix.packages.default]; +} diff --git a/darwin/home.nix b/darwin/home.nix new file mode 100644 index 0000000..13ba55e --- /dev/null +++ b/darwin/home.nix @@ -0,0 +1,3 @@ +{lib, ...}: { + imports = lib.my.getHmModules [./.]; +} diff --git a/flake.nix b/flake.nix index 2fcaef6..cc22b97 100644 --- a/flake.nix +++ b/flake.nix @@ -42,33 +42,9 @@ ... }: flake-parts.lib.mkFlake {inherit inputs;} { - flake = let - baseHomeModule = { - home-manager.useGlobalPkgs = true; - home-manager.useUserPackages = true; - home-manager.extraSpecialArgs = {inherit inputs;}; - }; - in { + flake = { overlays = import ./overlays {inherit inputs;}; - darwinConfigurations = { - mac = darwin.lib.darwinSystem { - system = "aarch64-darwin"; - specialArgs = {inherit inputs;}; - modules = [ - self.overlaysModule - home-manager.darwinModules.home-manager - baseHomeModule - { - home-manager.users.michael = import ./user/environments/mac/home.nix; - } - - ./modules/yabai.nix - ./machines/mac/configuration.nix - ]; - }; - }; - homeConfigurations = { nixos = inputs.home-manager.lib.homeManagerConfiguration { system = "x86_64-linux"; diff --git a/flakes/darwin.nix b/flakes/darwin.nix new file mode 100644 index 0000000..9f8f1f3 --- /dev/null +++ b/flakes/darwin.nix @@ -0,0 +1,44 @@ +{ + inputs, + withSystem, + ... +}: let + mkDarwin = { + system ? "aarch64-darwin", + modules ? [], + }: + withSystem system ( + { + inputs', + lib, + pkgs, + system, + ... + }: + inputs.darwin.lib.darwinSystem { + inherit system; + specialArgs = { + inherit + inputs + inputs' + lib + pkgs + ; + }; + modules = [../darwin] ++ modules; + } + ); +in { + flake.darwinConfigurations = { + mac = mkDarwin { + modules = [ + { + hm = import ../user/environments/mac/home.nix; + } + + ../modules/yabai.nix + ../machines/mac/configuration.nix + ]; + }; + }; +} diff --git a/flakes/default.nix b/flakes/default.nix index ad9c51c..e22e88f 100644 --- a/flakes/default.nix +++ b/flakes/default.nix @@ -1,7 +1,7 @@ { imports = [ ./lib.nix - # ./darwin.nix + ./darwin.nix ./nixos.nix ./packages.nix # ./home-manager.nix diff --git a/machines/mac/configuration.nix b/machines/mac/configuration.nix index 1ebbcd4..47514eb 100644 --- a/machines/mac/configuration.nix +++ b/machines/mac/configuration.nix @@ -56,27 +56,6 @@ nix-daemon.enable = true; }; - nixpkgs = { - # Workaround for pyopenssl being marked broken - config.allowBroken = true; - }; - - nix = { - package = pkgs.nix; - gc = { - automatic = true; - interval.Day = 7; - options = "--delete-older-than 7d"; - }; - extraOptions = '' - experimental-features = nix-command flakes - ''; - settings = { - auto-optimise-store = false; - trusted-users = ["root" "michael"]; - }; - }; - system = { # Since it's not possible to declare default shell, run this command after build activationScripts.postActivation.text = ''sudo chsh -s ${pkgs.zsh}/bin/zsh'';