1
0
nixfiles/flake.nix

149 lines
4.3 KiB
Nix
Raw Normal View History

2022-10-02 16:49:43 +02:00
{
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
nixos-hardware.url = "github:NixOS/nixos-hardware/master";
bij = {
url = "git+https://git.clerie.de/clerie/bij.git";
inputs.nixpkgs.follows = "nixpkgs";
};
2023-06-13 17:53:45 +02:00
chaosevents = {
url = "git+https://git.clerie.de/clerie/chaosevents.git";
#inputs.nixpkgs.follows = "nixpkgs";
2023-06-13 17:53:45 +02:00
};
fernglas = {
url = "github:wobcom/fernglas";
inputs.nixpkgs.follows = "nixpkgs";
};
harmonia = {
url = "github:clerie/harmonia/clerie/multiple-signing-keys";
inputs.nixpkgs.follows = "nixpkgs";
};
2023-06-20 18:58:55 +02:00
fieldpoc.url = "git+https://git.clerie.de/clerie/fieldpoc.git";
2023-01-02 19:10:33 +01:00
nixos-exporter = {
url = "git+https://git.clerie.de/clerie/nixos-exporter.git";
inputs.nixpkgs.follows = "nixpkgs";
};
solid-xmpp-alarm = {
url = "git+https://git.clerie.de/clerie/solid-xmpp-alarm.git";
inputs.nixpkgs.follows = "nixpkgs";
};
2024-04-20 23:20:14 +02:00
sops-nix = {
url = "github:Mic92/sops-nix";
inputs.nixpkgs.follows = "nixpkgs";
};
ssh-to-age = {
url = "github:Mic92/ssh-to-age";
inputs.nixpkgs.follows = "nixpkgs";
};
2022-10-02 16:49:43 +02:00
};
outputs = { self, nixpkgs, nixos-hardware, chaosevents, fernglas, nixos-exporter, solid-xmpp-alarm, ssh-to-age, ... }@inputs: let
2023-12-10 18:27:55 +01:00
lib = import ./lib inputs;
helper = lib.flake-helper;
2024-05-13 16:05:48 +02:00
localNixpkgs = import ./flake/nixpkgs.nix inputs;
in {
clerie.hosts = {
2023-04-21 23:03:11 +02:00
aluminium = {
name = "aluminium";
group = "event";
};
2023-05-20 17:34:02 +02:00
astatine = {
name = "astatine";
group = "event";
modules = [
./users/criese-nethinks
2023-12-07 20:21:44 +01:00
./users/isa
];
2023-05-20 17:34:02 +02:00
};
backup-4 = { name = "backup-4"; };
2023-04-21 23:03:11 +02:00
beryllium = {
name = "beryllium";
group = "event";
};
carbon = { name = "carbon"; };
clerie-backup = { name = "clerie-backup"; };
dn42-il-gw1 = { name = "dn42-il-gw1"; };
dn42-il-gw5 = { name = "dn42-il-gw5"; };
dn42-il-gw6 = { name = "dn42-il-gw6"; };
dn42-ildix-clerie = { name = "dn42-ildix-clerie"; };
2023-05-20 17:34:02 +02:00
dn42-ildix-service = { name = "dn42-ildix-service"; };
gatekeeper = { name = "gatekeeper"; };
hydra-1 = { name = "hydra-1"; };
hydra-2 = { name = "hydra-2"; };
krypton = {
name = "krypton";
modules = [
nixos-hardware.nixosModules.lenovo-thinkpad-x270
];
};
2023-05-20 17:13:45 +02:00
mail-2 = { name = "mail-2"; };
minecraft-2 = { name = "minecraft-2"; };
monitoring-3 = { name = "monitoring-3"; };
nonat = { name = "nonat"; };
osmium = { name = "osmium"; };
palladium = { name = "palladium"; };
porter = { name = "porter"; };
storage-2 = { name = "storage-2"; };
web-2 = { name = "web-2"; };
2024-02-07 17:36:30 +01:00
zinc = {
name = "zinc";
modules = [
nixos-hardware.nixosModules.common-cpu-intel
];
};
# nixfiles-auto-install: add new host above
_iso = { name = "_iso"; };
};
nixosConfigurations = import ./flake/nixosConfigurations.nix inputs;
2024-05-13 16:33:20 +02:00
nixosModules = {
nixfilesInputs = import ./flake/modules.nix inputs;
2024-05-13 16:33:20 +02:00
clerie = import ./modules;
default = self.nixosModules.clerie;
};
overlays = {
2024-05-13 16:05:48 +02:00
nixfilesInputs = import ./flake/overlay.nix inputs;
clerie = import ./pkgs/overlay.nix;
default = self.overlays.clerie;
};
2023-10-25 18:28:37 +02:00
packages = nixpkgs.lib.genAttrs [ "x86_64-linux" "aarch64-linux" ] (system: let
2024-05-13 16:05:48 +02:00
pkgs = localNixpkgs.${system};
2023-03-23 16:45:30 +01:00
in {
inherit (pkgs)
clerie-keys
clerie-system-upgrade
clerie-merge-nixfiles-update
clerie-update-nixfiles
2024-04-20 23:20:14 +02:00
clerie-sops
clerie-sops-config
clerie-sops-edit
2024-03-17 14:24:06 +01:00
chromium-incognito
iot-data
nix-remove-result-links
nixfiles-auto-install
nixfiles-generate-config
nixfiles-generate-backup-secrets
nixfiles-update-ssh-host-keys
print-afra
ssh-gpg
update-from-hydra
2024-03-14 20:27:20 +01:00
uptimestatus;
2023-10-25 18:28:37 +02:00
});
inherit lib self;
hydraJobs = import ./flake/hydraJobs.nix inputs;
2023-07-01 16:59:24 +02:00
nixConfig = {
extra-substituters = [
"https://nix-cache.clerie.de"
];
extra-trusted-public-keys = [
"nix-cache.clerie.de:bAt1GJTS9BOTcXFWj3nURrSlcjqikCev9yDvqArMP5g="
];
};
2022-10-02 16:49:43 +02:00
};
}