forked from Drift/pvv-nixos-config
make packages for each system derivation
Makes it easier to test build each machine also makes nom go brr
This commit is contained in:
parent
b8f6aa2f62
commit
05cac3cb93
|
@ -10,7 +10,13 @@ Etter å ha klonet prosjektet ned og gjort endringer kan du evaluere configene m
|
||||||
|
|
||||||
før du bygger en maskin med:
|
før du bygger en maskin med:
|
||||||
|
|
||||||
`nix build .#nixosConfigurations.<maskinavn>.config.system.build.toplevel`
|
`nix build .#<maskinnavn>`
|
||||||
|
|
||||||
|
hvis du vil være ekstra sikker på at alt bygger så kan du kjøre:
|
||||||
|
|
||||||
|
`nix build .` for å bygge alle de viktige maskinene.
|
||||||
|
|
||||||
|
NB: Dette kan ta opp til 15 minutter avhengig av hva som ligger i caches
|
||||||
|
|
||||||
Husk å hvertfall stage nye filer om du har laget dem!
|
Husk å hvertfall stage nye filer om du har laget dem!
|
||||||
|
|
||||||
|
|
24
flake.nix
24
flake.nix
|
@ -21,12 +21,21 @@
|
||||||
|
|
||||||
outputs = { self, nixpkgs, matrix-next, pvv-calendar-bot, unstable, sops-nix, ... }@inputs:
|
outputs = { self, nixpkgs, matrix-next, pvv-calendar-bot, unstable, sops-nix, ... }@inputs:
|
||||||
let
|
let
|
||||||
|
nixlib = nixpkgs.lib;
|
||||||
systems = [
|
systems = [
|
||||||
"x86_64-linux"
|
"x86_64-linux"
|
||||||
"aarch64-linux"
|
"aarch64-linux"
|
||||||
"aarch64-darwin"
|
"aarch64-darwin"
|
||||||
];
|
];
|
||||||
forAllSystems = f: nixpkgs.lib.genAttrs systems (system: f system);
|
forAllSystems = f: nixlib.genAttrs systems (system: f system);
|
||||||
|
allMachines = nixlib.mapAttrsToList (name: _: name) self.nixosConfigurations;
|
||||||
|
importantMachines = [
|
||||||
|
"bekkalokk"
|
||||||
|
"bicep"
|
||||||
|
"brzeczyszczykiewicz"
|
||||||
|
"georg"
|
||||||
|
"ildkule"
|
||||||
|
];
|
||||||
in {
|
in {
|
||||||
nixosConfigurations = let
|
nixosConfigurations = let
|
||||||
nixosConfig = nixpkgs: name: config: nixpkgs.lib.nixosSystem (nixpkgs.lib.recursiveUpdate
|
nixosConfig = nixpkgs: name: config: nixpkgs.lib.nixosSystem (nixpkgs.lib.recursiveUpdate
|
||||||
|
@ -95,5 +104,18 @@
|
||||||
devShells = forAllSystems (system: {
|
devShells = forAllSystems (system: {
|
||||||
default = nixpkgs.legacyPackages.${system}.callPackage ./shell.nix { };
|
default = nixpkgs.legacyPackages.${system}.callPackage ./shell.nix { };
|
||||||
});
|
});
|
||||||
|
|
||||||
|
packages = {
|
||||||
|
"x86_64-linux" = let
|
||||||
|
pkgs = nixpkgs.legacyPackages."x86_64-linux";
|
||||||
|
in rec {
|
||||||
|
default = important-machines;
|
||||||
|
important-machines = pkgs.linkFarm "important-machines"
|
||||||
|
(nixlib.getAttrs importantMachines self.packages.x86_64-linux);
|
||||||
|
all-machines = pkgs.linkFarm "all-machines"
|
||||||
|
(nixlib.getAttrs allMachines self.packages.x86_64-linux);
|
||||||
|
} // nixlib.genAttrs allMachines
|
||||||
|
(machine: self.nixosConfigurations.${machine}.config.system.build.toplevel);
|
||||||
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue