{ inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; nixpkgs-carbon.url = "github:clerie/nixpkgs/clerie/always-setup-netdevs"; # for etesync-dav nixpkgs-0dc1c7.url = "github:NixOS/nixpkgs/0dc1c7294c13f5d1dd6eccab4f75d268d7296efe"; nixos-hardware.url = "github:NixOS/nixos-hardware/master"; berlinerbaeder-exporter = { url = "git+https://git.clerie.de/clerie/berlinerbaeder-exporter.git"; inputs.nixpkgs.follows = "nixpkgs"; }; bij = { url = "git+https://git.clerie.de/clerie/bij.git"; inputs.nixpkgs.follows = "nixpkgs"; }; chaosevents = { url = "git+https://git.clerie.de/clerie/chaosevents.git"; #inputs.nixpkgs.follows = "nixpkgs"; }; fernglas = { url = "github:wobcom/fernglas"; inputs.nixpkgs.follows = "nixpkgs"; }; harmonia = { url = "github:nix-community/harmonia/harmonia-v2.0.1"; inputs.nixpkgs.follows = "nixpkgs"; }; hydra = { url = "git+https://git.lix.systems/lix-project/hydra.git?ref=lix-2.93"; #inputs.lix.follows = "lix"; #inputs.nixpkgs.follows = "nixpkgs"; }; lix = { url = "git+https://git.lix.systems/lix-project/lix.git?ref=release-2.93"; inputs.nixpkgs.follows = "nixpkgs"; }; lix-module = { url = "git+https://git.lix.systems/lix-project/nixos-module.git?ref=release-2.93"; inputs.lix.follows = "lix"; inputs.nixpkgs.follows = "nixpkgs"; }; fieldpoc.url = "git+https://git.clerie.de/clerie/fieldpoc.git"; nixos-exporter = { url = "git+https://git.clerie.de/clerie/nixos-exporter.git"; inputs.nixpkgs.follows = "nixpkgs"; }; nurausstieg = { url = "git+https://git.clerie.de/clerie/nurausstieg.git"; inputs.nixpkgs.follows = "nixpkgs"; }; rainbowrss = { url = "git+https://git.clerie.de/clerie/rainbowrss.git"; inputs.nixpkgs.follows = "nixpkgs"; }; scan-to-gpg = { url = "git+https://git.clerie.de/clerie/scan-to-gpg.git"; inputs.nixpkgs.follows = "nixpkgs"; }; solid-xmpp-alarm = { url = "git+https://git.clerie.de/clerie/solid-xmpp-alarm.git"; inputs.nixpkgs.follows = "nixpkgs"; }; sops-nix = { url = "github:Mic92/sops-nix"; inputs.nixpkgs.follows = "nixpkgs"; }; ssh-to-age = { url = "github:Mic92/ssh-to-age"; inputs.nixpkgs.follows = "nixpkgs"; }; traveldrafter = { url = "git+https://git.clerie.de/clerie/traveldrafter.git"; inputs.nixpkgs.follows = "nixpkgs"; }; }; outputs = { self, nixpkgs, nixos-hardware, chaosevents, fernglas, nixos-exporter, solid-xmpp-alarm, ssh-to-age, ... }@inputs: let lib = import ./lib inputs; in { clerie.hosts = { aluminium = { group = "event"; }; astatine = { group = "event"; modules = [ ./users/criese-nethinks ./users/isa ]; }; backup-4 = {}; beryllium = { group = "event"; }; carbon = {}; clerie-backup = {}; dn42-il-gw1 = {}; dn42-il-gw5 = {}; dn42-il-gw6 = {}; dn42-ildix-clerie = {}; dn42-ildix-service = {}; gatekeeper = {}; hydra-1 = {}; hydra-2 = {}; krypton = { modules = [ nixos-hardware.nixosModules.lenovo-thinkpad-x270 ]; }; mail-2 = {}; monitoring-3 = {}; nonat = {}; osmium = {}; palladium = {}; porter = {}; storage-2 = { modules = [ ./users/frank ]; }; tungsten = {}; web-2 = {}; zinc = { modules = [ nixos-hardware.nixosModules.common-cpu-intel ]; }; # nixfiles-auto-install: add new host above _iso = {}; }; nixosConfigurations = import ./flake/nixosConfigurations.nix inputs; nixosModules = { nixfilesInputs = import ./flake/modules.nix inputs; clerie = import ./modules; profiles = import ./profiles; default = self.nixosModules.clerie; }; overlays = { clerie-inputs = import ./flake/inputs-overlay.nix inputs; clerie-pkgs = import ./pkgs/overlay.nix; clerie-build-support = import ./pkgs/build-support/overlay.nix; clerie-overrides = import ./pkgs/overrides/overlay.nix; }; nixpkgs = nixpkgs.lib.genAttrs [ "x86_64-linux" "aarch64-linux" ] (system: lib.mkNixpkgs { inherit system; } ); packages = nixpkgs.lib.genAttrs [ "x86_64-linux" "aarch64-linux" ] (system: nixpkgs.lib.genAttrs ( (builtins.attrNames (self.overlays.clerie-pkgs null null)) ++ (builtins.attrNames (self.overlays.clerie-overrides null null)) ) (name: self.nixpkgs."${system}"."${name}") ); inherit lib self; hydraJobs = import ./flake/hydraJobs.nix inputs; nixConfig = { extra-substituters = [ "https://nix-cache.clerie.de" ]; extra-trusted-public-keys = [ "nix-cache.clerie.de:bAt1GJTS9BOTcXFWj3nURrSlcjqikCev9yDvqArMP5g=" ]; }; }; }