diff --git a/flake.nix b/flake.nix index b47e1ea..e7714a6 100644 --- a/flake.nix +++ b/flake.nix @@ -27,19 +27,37 @@ outputs = { + self, darwin, nixpkgs, home-manager, nix-rosetta-builder, ... }@inputs: + let + sharedArgs = { inherit inputs self; }; + in { + nixosModules = { + base = ./modules/base; + nixos = ./modules/nixos; + graphical = ./modules/nixos/graphical; + }; + + homeModules = { + full = ./modules/home/full; + desktop = ./modules/desktop; + minimal = ./modules/home/minimal; + }; + + darwinModules = { + base = ./modules/darwin; + }; + darwinConfigurations = { larstvei-macbookpro = darwin.lib.darwinSystem { system = "aarch64-darwin"; - - specialArgs = { inherit inputs; }; - + specialArgs = sharedArgs; modules = [ home-manager.darwinModules.default ./machines/macbook @@ -51,7 +69,7 @@ nixosConfigurations.thinkpad = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; - specialArgs = { inherit inputs; }; + specialArgs = sharedArgs; modules = [ home-manager.nixosModules.default ./machines/thinkpad @@ -60,7 +78,7 @@ nixosConfigurations.vm-aarch64 = nixpkgs.lib.nixosSystem { system = "aarch64-linux"; - specialArgs = { inherit inputs; }; + specialArgs = sharedArgs; modules = [ home-manager.nixosModules.default ./machines/vm-aarch64 diff --git a/machines/macbook/default.nix b/machines/macbook/default.nix index 6183cb2..b4cdb11 100644 --- a/machines/macbook/default.nix +++ b/machines/macbook/default.nix @@ -1,8 +1,13 @@ -{ pkgs, inputs, ... }: +{ + self, + pkgs, + inputs, + ... +}: { imports = [ - ../../modules/base - ../../modules/darwin + self.nixosModules.base + self.darwinModules.base ]; system.primaryUser = "larstvei"; @@ -18,6 +23,6 @@ useGlobalPkgs = true; useUserPackages = true; extraSpecialArgs = { inherit inputs; }; - users.larstvei.imports = [ ../../modules/home/full ]; + users.larstvei.imports = [ self.homeModules.full ]; }; } diff --git a/machines/thinkpad/default.nix b/machines/thinkpad/default.nix index 491cb21..5ff5ce4 100644 --- a/machines/thinkpad/default.nix +++ b/machines/thinkpad/default.nix @@ -1,15 +1,16 @@ +{ self, ... }: { imports = [ ./keyboard ./hardware - ../../modules/base - ../../modules/nixos - ../../modules/nixos/graphical + self.nixosModules.base + self.nixosModules.nixos + self.nixosModules.graphical ]; home-manager.users.larstvei.imports = [ - ../../modules/home/full - ../../modules/desktop + self.homeModules.full + self.homeModules.desktop ]; services.gnome.gnome-keyring.enable = true; diff --git a/machines/vm-aarch64/default.nix b/machines/vm-aarch64/default.nix index aea656f..3066fab 100644 --- a/machines/vm-aarch64/default.nix +++ b/machines/vm-aarch64/default.nix @@ -1,14 +1,13 @@ +{ self, ... }: { imports = [ ./hardware - ../../modules/base - ../../modules/nixos - # ../../modules/nixos-graphical + self.nixosModules.base + self.nixosModules.nixos ]; home-manager.users.larstvei.imports = [ - ../../modules/home/minimal - # ../../modules/desktop + self.homeModules.minimal ]; networking.hostName = "larstvei-vm";