flake/flake.nix

93 lines
2.3 KiB
Nix
Raw Permalink Normal View History

{
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";
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";
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-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
./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-10-29 08:55:56 +01:00
mkLocalMods = import ./meta/mkLocalMods.nix {inherit lib;};
mkLocalModsInput = mkLocalMods {
prefix = ["lyn"];
dir = ./modules;
};
in {
nixosConfigurations = {
2024-09-17 03:12:01 +02:00
"forgenite" = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
modules = [
./hosts/forgenite
2024-10-19 03:12:20 +02:00
imports
2024-10-29 08:55:56 +01: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 {
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
];
};
};
};
}