diff --git a/flake.nix b/flake.nix index d31ff60..58d3e53 100644 --- a/flake.nix +++ b/flake.nix @@ -15,54 +15,32 @@ outputs = inputs @ { self, nixpkgs, home-manager, ... }: let system = "x86_64-linux"; + pkgs = import nixpkgs { inherit system; config.allowUnfree = true; overlays = import ./overlays; }; + lib = nixpkgs.lib.extend (self: super: { my = import ./lib { inherit pkgs inputs; lib = self; }; }); + + mkHost = hostPath: lib.nixosSystem { + inherit system; + inherit pkgs; + specialArgs = { inherit lib inputs system; }; + modules = [ + hostPath + { + imports = + [ inputs.home-manager.nixosModules.home-manager ] + # All my personal modules + ++ (lib.my.mapModulesRec' (toString ./modules) import); + } + ]; + }; + in { - nixosConfigurations = { - - # - Reykjavik ---------------------------- - reykjavik = lib.nixosSystem { - inherit system; - inherit pkgs; - specialArgs = { inherit lib inputs system; }; - modules = [ - - ./hosts/reykjavik - - { - imports = - [ inputs.home-manager.nixosModules.home-manager ] - # All my personal modules - ++ (lib.my.mapModulesRec' (toString ./modules) import); - } - - ]; - }; - - # - Kopavogur ---------------------------- - kopavogur = lib.nixosSystem { - inherit system; - inherit pkgs; - specialArgs = { inherit lib inputs system; }; - modules = [ - - ./hosts/kopavogur - - { - imports = - [ inputs.home-manager.nixosModules.home-manager ] - # All my personal modules - ++ (lib.my.mapModulesRec' (toString ./modules) import); - } - - ]; - }; - - }; + nixosConfigurations = lib.my.mapModules ./hosts mkHost; }; }