mirror of
https://git.pvv.ntnu.no/Drift/pvv-nixos-config.git
synced 2025-07-23 15:42:37 +02:00
Allow configuring configuration src path in nixosConfig
Co-authored-by: h7x4 <h7x4@nani.wtf>
This commit is contained in:
parent
febc0940f8
commit
59969b9ec8
35
flake.nix
35
flake.nix
@ -55,37 +55,50 @@
|
|||||||
|
|
||||||
nixosConfigurations = let
|
nixosConfigurations = let
|
||||||
unstablePkgs = nixpkgs-unstable.legacyPackages.x86_64-linux;
|
unstablePkgs = nixpkgs-unstable.legacyPackages.x86_64-linux;
|
||||||
nixosConfig = nixpkgs: name: config: lib.nixosSystem (lib.recursiveUpdate
|
|
||||||
rec {
|
nixosConfig =
|
||||||
|
nixpkgs:
|
||||||
|
name:
|
||||||
|
configurationPath:
|
||||||
|
extraArgs:
|
||||||
|
lib.nixosSystem (lib.recursiveUpdate
|
||||||
|
(let
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
|
in {
|
||||||
|
inherit system;
|
||||||
|
|
||||||
specialArgs = {
|
specialArgs = {
|
||||||
inherit unstablePkgs inputs;
|
inherit unstablePkgs inputs;
|
||||||
values = import ./values.nix;
|
values = import ./values.nix;
|
||||||
fp = path: ./${path};
|
fp = path: ./${path};
|
||||||
};
|
} // extraArgs.specialArgs or { };
|
||||||
|
|
||||||
modules = [
|
modules = [
|
||||||
./hosts/${name}/configuration.nix
|
configurationPath
|
||||||
sops-nix.nixosModules.sops
|
sops-nix.nixosModules.sops
|
||||||
] ++ config.modules or [];
|
] ++ extraArgs.modules or [];
|
||||||
|
|
||||||
pkgs = import nixpkgs {
|
pkgs = import nixpkgs {
|
||||||
inherit system;
|
inherit system;
|
||||||
config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg)
|
extraArgs.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg)
|
||||||
[
|
[
|
||||||
"nvidia-x11"
|
"nvidia-x11"
|
||||||
"nvidia-settings"
|
"nvidia-settings"
|
||||||
];
|
];
|
||||||
overlays = [
|
overlays = [
|
||||||
# Global overlays go here
|
# Global overlays go here
|
||||||
] ++ config.overlays or [ ];
|
] ++ extraArgs.overlays or [ ];
|
||||||
};
|
};
|
||||||
}
|
})
|
||||||
(removeAttrs config [ "modules" "overlays" ])
|
(builtins.removeAttrs extraArgs [
|
||||||
|
"modules"
|
||||||
|
"overlays"
|
||||||
|
"specialArgs"
|
||||||
|
])
|
||||||
);
|
);
|
||||||
|
|
||||||
stableNixosConfig = nixosConfig nixpkgs;
|
stableNixosConfig = name: extraArgs:
|
||||||
unstableNixosConfig = nixosConfig nixpkgs-unstable;
|
nixosConfig nixpkgs name ./hosts/${name}/configuration.nix extraArgs;
|
||||||
in {
|
in {
|
||||||
bicep = stableNixosConfig "bicep" {
|
bicep = stableNixosConfig "bicep" {
|
||||||
modules = [
|
modules = [
|
||||||
|
Loading…
x
Reference in New Issue
Block a user