2024-08-30 23:04:47 +02:00
|
|
|
{
|
|
|
|
description = "Lyns flake";
|
|
|
|
inputs = {
|
2024-10-19 01:36:05 +02:00
|
|
|
microvm.url = "github:astro/microvm.nix";
|
2024-10-19 02:07:03 +02:00
|
|
|
microvm.inputs.nixpkgs.follows = "nixpkgs";
|
2024-10-16 22:50:37 +02:00
|
|
|
lanzaboote.url = "github:nix-community/lanzaboote/v0.4.1";
|
2025-01-14 22:33:43 +01:00
|
|
|
nixpkgs.url = "github:NixOS/nixpkgs/nixos-24.11";
|
2024-08-31 00:23:59 +02:00
|
|
|
sops-nix.url = "github:Mic92/sops-nix";
|
2024-09-06 05:01:21 +02:00
|
|
|
nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixos-unstable";
|
2025-01-14 18:56:49 +01:00
|
|
|
fenix-monthly = {
|
|
|
|
url = "github:nix-community/fenix/monthly";
|
|
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
|
|
};
|
2024-08-30 23:04:47 +02:00
|
|
|
};
|
2024-10-29 08:55:56 +01:00
|
|
|
outputs = {
|
|
|
|
self,
|
|
|
|
nixpkgs,
|
|
|
|
nixpkgs-unstable,
|
|
|
|
sops-nix,
|
|
|
|
lanzaboote,
|
|
|
|
microvm,
|
2025-01-14 18:56:49 +01:00
|
|
|
fenix-monthly,
|
2024-10-29 08:55:56 +01:00
|
|
|
} @ inputs: let
|
|
|
|
imports = {
|
|
|
|
imports = [
|
|
|
|
sops-nix.nixosModules.sops
|
|
|
|
passInputs
|
|
|
|
mkLocalModsInput
|
2024-10-19 03:12:20 +02:00
|
|
|
lanzaboote.nixosModules.lanzaboote
|
2024-10-29 08:55:56 +01:00
|
|
|
inputs.microvm.nixosModules.host
|
2024-11-12 01:49:31 +01:00
|
|
|
./hosts/network.nix
|
2025-01-14 18:56:49 +01:00
|
|
|
./meta/wgautomesh
|
2024-10-29 08:55:56 +01:00
|
|
|
];
|
|
|
|
};
|
2025-01-14 18:56:49 +01:00
|
|
|
overlays = {
|
|
|
|
default = import ./pkgs/overlay.nix inputs;
|
|
|
|
};
|
2024-10-29 08:55:56 +01:00
|
|
|
passInputs = {
|
|
|
|
lib,
|
|
|
|
config,
|
|
|
|
...
|
|
|
|
}: {
|
|
|
|
options.flakePath = lib.mkOption {type = lib.types.path;};
|
|
|
|
config.flakePath = ./.;
|
|
|
|
options.inputs = lib.mkOption {type = lib.types.attrs;};
|
|
|
|
config.inputs = inputs;
|
|
|
|
options.pkgsInstances = lib.mkOption {type = lib.types.attrs;};
|
|
|
|
config.pkgsInstances = {
|
|
|
|
unstable = import inputs.nixpkgs-unstable {system = config.nixpkgs.system;};
|
|
|
|
};
|
2025-01-14 18:56:49 +01:00
|
|
|
config.nixpkgs.overlays = lib.attrValues overlays;
|
2024-10-29 08:55:56 +01:00
|
|
|
};
|
|
|
|
inherit (nixpkgs) lib;
|
2024-11-30 01:50:21 +01:00
|
|
|
|
2024-10-29 08:55:56 +01:00
|
|
|
mkLocalMods = import ./meta/mkLocalMods.nix {inherit lib;};
|
|
|
|
mkLocalModsInput = mkLocalMods {
|
|
|
|
prefix = ["lyn"];
|
|
|
|
dir = ./modules;
|
2024-09-06 06:04:32 +02:00
|
|
|
};
|
|
|
|
in {
|
|
|
|
nixosConfigurations = {
|
2024-09-17 03:12:01 +02:00
|
|
|
"forgenite" = nixpkgs.lib.nixosSystem {
|
2024-08-30 23:04:47 +02:00
|
|
|
system = "x86_64-linux";
|
2024-09-06 06:04:32 +02:00
|
|
|
modules = [
|
2024-09-06 05:01:21 +02:00
|
|
|
./hosts/forgenite
|
2024-10-19 03:12:20 +02:00
|
|
|
imports
|
2024-10-29 08:55:56 +01:00
|
|
|
];
|
2024-09-06 06:04:32 +02:00
|
|
|
};
|
|
|
|
"forgejo-ci" = nixpkgs.lib.nixosSystem {
|
|
|
|
system = "x86_64-linux";
|
|
|
|
modules = [
|
|
|
|
./hosts/forgejo-ci
|
2024-10-19 03:12:20 +02:00
|
|
|
imports
|
2024-10-29 08:55:56 +01:00
|
|
|
];
|
2024-10-16 17:16:05 +02:00
|
|
|
};
|
2024-10-16 17:04:21 +02:00
|
|
|
"supernova" = nixpkgs.lib.nixosSystem {
|
|
|
|
system = "x86_64-linux";
|
|
|
|
modules = [
|
|
|
|
./hosts/supernova
|
2024-10-29 08:55:56 +01:00
|
|
|
imports
|
|
|
|
];
|
2024-10-19 04:08:28 +02:00
|
|
|
};
|
2024-10-19 04:21:40 +02:00
|
|
|
"wg-gateway" = nixpkgs.lib.nixosSystem {
|
2024-10-19 04:17:26 +02:00
|
|
|
system = "aarch64-linux";
|
2024-10-19 04:08:28 +02:00
|
|
|
modules = [
|
2024-10-19 04:21:40 +02:00
|
|
|
./hosts/wg-gateway
|
2024-10-29 08:55:56 +01:00
|
|
|
imports
|
|
|
|
];
|
2024-09-06 06:04:32 +02:00
|
|
|
};
|
2024-08-30 23:04:47 +02:00
|
|
|
};
|
|
|
|
};
|
|
|
|
}
|