diff --git a/flake.nix b/flake.nix index 775aeaf..27e4293 100644 --- a/flake.nix +++ b/flake.nix @@ -107,29 +107,14 @@ } ]; }; - mkHomeConfiguration = user: host: { - name = user; - value = home-manager.lib.homeManagerConfiguration { - pkgs = import nixpkgs { system = "x86_64-linux"; }; - modules = [ - (import ./home).${user}.${host} - overlayModule - ] ++ sharedHmModules; - extraSpecialArgs = { - inherit inputs; - }; - }; - }; mkNixos = { - system, modules, specialArgs ? { }, }: nixpkgs.lib.nixosSystem { - inherit system; specialArgs = specialArgs // { - inherit inputs system; + inherit inputs; }; modules = [ self.nixosModules.default @@ -147,11 +132,9 @@ }; homeManagerModules = import ./modules/home-manager; - homeConfigurations = builtins.listToAttrs [ (mkHomeConfiguration "xin" "calcite") ]; - colmenaHive = inputs.colmena.lib.makeHive { meta = { - nixpkgs = import nixpkgs { system = "x86_64-linux"; }; + nixpkgs = import nixpkgs { localSystem = "x86_64-linux"; }; specialArgs = { inherit inputs; }; @@ -163,17 +146,13 @@ deployment.targetHost = "49.13.13.122"; deployment.buildOnTarget = true; - imports = [ - { nixpkgs.system = "aarch64-linux"; } - machines/massicot - ] ++ sharedColmenaModules; + imports = [ machines/massicot ] ++ sharedColmenaModules; }; tok-00 = { ... }: { imports = [ machines/dolomite ] ++ sharedColmenaModules; - nixpkgs.system = "x86_64-linux"; networking.hostName = "tok-00"; system.stateVersion = "23.11"; deployment = { @@ -187,7 +166,6 @@ { ... }: { imports = [ machines/dolomite ] ++ sharedColmenaModules; - nixpkgs.system = "x86_64-linux"; networking.hostName = "la-00"; system.stateVersion = "21.05"; deployment = { @@ -204,7 +182,6 @@ targetHost = "raspite.local"; buildOnTarget = false; }; - nixpkgs.system = "aarch64-linux"; imports = [ "${nixpkgs}/nixos/modules/installer/sd-card/sd-image-aarch64.nix" nixos-hardware.nixosModules.raspberry-pi-4 @@ -221,26 +198,28 @@ targetPort = 22; buildOnTarget = false; }; - nixpkgs.system = "x86_64-linux"; }; }; - nixosConfigurations = { - calcite = mkNixos { - system = "x86_64-linux"; - modules = [ - nixos-hardware.nixosModules.asus-zephyrus-ga401 - machines/calcite/configuration.nix - (mkHome "xin" "calcite") - ]; - }; - } // self.colmenaHive.nodes; - } // flake-utils.lib.eachDefaultSystem ( system: let - pkgs = nixpkgs.legacyPackages.${system}; + pkgs = import nixpkgs { localSystem = system; }; + + mkHomeConfiguration = user: host: { + name = user; + value = home-manager.lib.homeManagerConfiguration { + inherit pkgs; + modules = [ + (import ./home).${user}.${host} + overlayModule + ] ++ sharedHmModules; + extraSpecialArgs = { + inherit inputs; + }; + }; + }; in { devShells = { @@ -259,7 +238,18 @@ packages = { nixvim = my-nixvim.packages.${system}.default; + nixosConfigurations = { + calcite = mkNixos { + modules = [ + nixos-hardware.nixosModules.asus-zephyrus-ga401 + machines/calcite/configuration.nix + (mkHome "xin" "calcite") + ]; + }; + } // self.colmenaHive.nodes; }; + + homeConfigurations = builtins.listToAttrs [ (mkHomeConfiguration "xin" "calcite") ]; } ); } diff --git a/garnix.yaml b/garnix.yaml new file mode 100644 index 0000000..dd4f0ed --- /dev/null +++ b/garnix.yaml @@ -0,0 +1,11 @@ +builds: + exclude: [] + include: + - '*.x86_64-linux.*' + - defaultPackage.x86_64-linux + - devShell.x86_64-linux + - homeConfigurations.* + - darwinConfigurations.* + - nixosConfigurations.* + - nixosConfigurations.aarch64-linux.calcite + - homeConfigurations.aarch64-linux.xin diff --git a/machines/dolomite/bandwagon.nix b/machines/dolomite/bandwagon.nix index 70daacf..d6db704 100644 --- a/machines/dolomite/bandwagon.nix +++ b/machines/dolomite/bandwagon.nix @@ -16,6 +16,7 @@ in }; config = lib.mkIf cfg { + nixpkgs.hostPlatform = "x86_64-linux"; boot.initrd.availableKernelModules = [ "ata_piix" "xhci_pci" diff --git a/machines/dolomite/lightsail.nix b/machines/dolomite/lightsail.nix index 18afeda..b1cba45 100644 --- a/machines/dolomite/lightsail.nix +++ b/machines/dolomite/lightsail.nix @@ -25,6 +25,8 @@ in }; config = mkIf config.isLightsail { + nixpkgs.hostPlatform = "x86_64-linux"; + boot.loader.grub.device = "/dev/nvme0n1"; # from nixpkgs amazon-image.nix diff --git a/machines/massicot/hardware-configuration.nix b/machines/massicot/hardware-configuration.nix index c67deb1..560ac23 100644 --- a/machines/massicot/hardware-configuration.nix +++ b/machines/massicot/hardware-configuration.nix @@ -19,5 +19,5 @@ device = "/dev/sda1"; fsType = "ext4"; }; - + nixpkgs.hostPlatform = "aarch64-linux"; } diff --git a/machines/raspite/configuration.nix b/machines/raspite/configuration.nix index 049e67e..8eaa463 100644 --- a/machines/raspite/configuration.nix +++ b/machines/raspite/configuration.nix @@ -17,6 +17,8 @@ }) ]; + nixpkgs.hostPlatform = "aarch64-linux"; + environment.systemPackages = with pkgs; [ git libraspberrypi