2024-07-21 01:44:38 -04:00
|
|
|
{
|
2024-11-20 00:58:57 -05:00
|
|
|
description = "Aether - web server configuration";
|
2024-07-21 01:44:38 -04:00
|
|
|
|
|
|
|
inputs = {
|
|
|
|
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
|
|
|
|
|
|
|
rpi5-kernel.url = "gitlab:vriska/nix-rpi5";
|
|
|
|
rpi5-kernel.inputs.nixpkgs.follows = "nixpkgs";
|
2024-08-03 02:02:50 -04:00
|
|
|
|
|
|
|
agenix.url = "github:ryantm/agenix";
|
|
|
|
agenix.inputs.nixpkgs.follows = "nixpkgs";
|
|
|
|
agenix.inputs.darwin.follows = "";
|
2024-07-21 01:44:38 -04:00
|
|
|
};
|
|
|
|
|
2024-11-20 00:58:57 -05:00
|
|
|
outputs = inputs@{ self, nixpkgs, agenix, rpi5-kernel, ... }:
|
|
|
|
let
|
|
|
|
inherit (nixpkgs) lib;
|
|
|
|
|
|
|
|
moduleNames =
|
|
|
|
let sub = builtins.readDir ./modules;
|
|
|
|
in builtins.filter
|
|
|
|
(d: sub.${d} == "directory")
|
|
|
|
(builtins.attrNames sub);
|
|
|
|
|
|
|
|
modules = lib.genAttrs moduleNames (name: ./modules/${name});
|
|
|
|
in {
|
|
|
|
nixosModules =
|
|
|
|
modules
|
|
|
|
// {
|
|
|
|
aether.imports = lib.attrValues modules;
|
|
|
|
deploy-rpi5 = {
|
|
|
|
imports = [ ./deploy/rpi5 ];
|
|
|
|
aether.deploy.rpi5.kernelPackages =
|
|
|
|
rpi5-kernel.legacyPackages.aarch64-linux.linuxPackages_rpi5;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
2024-09-14 02:01:36 -04:00
|
|
|
nixosConfigurations."toki-aether" =
|
2024-07-21 01:44:38 -04:00
|
|
|
nixpkgs.lib.nixosSystem {
|
|
|
|
modules = [
|
|
|
|
{ _module.args = inputs; }
|
2024-08-03 02:02:50 -04:00
|
|
|
agenix.nixosModules.default
|
2024-11-20 00:58:57 -05:00
|
|
|
./aether/hardware-configuration.nix
|
|
|
|
./aether/config.nix
|
2024-07-21 01:44:38 -04:00
|
|
|
];
|
|
|
|
};
|
2024-09-14 02:01:36 -04:00
|
|
|
nixosConfigurations.default = self.nixosConfigurations."toki-aether";
|
2024-07-21 01:44:38 -04:00
|
|
|
};
|
|
|
|
}
|