pvv-nixos-config/flake.nix

53 lines
1.4 KiB
Nix
Raw Normal View History

2022-12-07 22:13:28 +01:00
{
description = "PVV System flake";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-22.11-small";
unstable.url = "github:NixOS/nixpkgs/nixos-unstable-small";
sops-nix.url = "github:Mic92/sops-nix";
sops-nix.inputs.nixpkgs.follows = "nixpkgs";
matrix-next.url = "github:dali99/nixos-matrix-modules";
2022-12-07 22:13:28 +01:00
};
outputs = { self, nixpkgs, matrix-next, unstable, sops-nix, ... }@inputs:
2022-12-09 03:43:14 +01:00
let
systems = [
"x86_64-linux"
"aarch64-linux"
];
forAllSystems = f: nixpkgs.lib.genAttrs systems (system: f system);
in {
nixosConfigurations = let
nixosConfig = name: config: nixpkgs.lib.nixosSystem (nixpkgs.lib.recursiveUpdate
config
2023-03-26 04:21:03 +02:00
rec {
system = "x86_64-linux";
specialArgs = {
inherit unstable inputs;
values = import ./values.nix;
};
modules = [
./hosts/${name}/configuration.nix
sops-nix.nixosModules.sops
matrix-next.nixosModules.synapse
];
});
2022-12-07 22:13:28 +01:00
in {
2023-03-26 01:09:44 +01:00
bicep = nixosConfig "bicep" { };
bekkalokk = nixosConfig "bekkalokk" { };
greddost = nixosConfig "greddost" { };
ildkule = nixosConfig "ildkule" { };
jokum = nixosConfig "jokum" {
modules = [ matrix-next.nixosModules.synapse ];
2022-12-17 21:51:43 +01:00
};
2022-12-07 22:13:28 +01:00
};
2022-12-09 03:43:14 +01:00
devShells = forAllSystems (system: {
default = nixpkgs.legacyPackages.${system}.callPackage ./shell.nix { };
});
2022-12-07 22:13:28 +01:00
};
}