2020-03-25 19:52:13 +01:00
|
|
|
{
|
|
|
|
description = "C3D2 NixOS configurations";
|
|
|
|
|
2022-12-23 07:41:46 +01:00
|
|
|
nixConfig = {
|
2023-04-03 20:34:04 +02:00
|
|
|
extra-substituters = [ "https://nix-cache.hq.c3d2.de" ];
|
|
|
|
extra-trusted-public-keys = [ "nix-cache.hq.c3d2.de:KZRGGnwOYzys6pxgM8jlur36RmkJQ/y8y62e52fj1ps=" ];
|
2022-12-23 07:41:46 +01:00
|
|
|
};
|
|
|
|
|
2020-06-11 07:50:42 +02:00
|
|
|
inputs = {
|
2022-11-30 22:49:44 +01:00
|
|
|
# use sandro's fork full with cherry-picked fixes
|
|
|
|
nixos.url = "github:SuperSandro2000/nixpkgs/nixos-22.11";
|
2022-12-04 20:53:20 +01:00
|
|
|
nixos-mobilizon.url = "github:minijackson/nixpkgs/init-mobilizon";
|
2022-05-31 12:47:58 +02:00
|
|
|
nixos-hardware.url = "github:nixos/nixos-hardware";
|
2022-12-20 04:11:23 +01:00
|
|
|
# nixos-unstable.url = "github:nixos/nixpkgs/nixos-unstable";
|
|
|
|
# nixos-unstable-simd.url = "github:SuperSandro2000/nixpkgs/nixos-unstable-simd";
|
2022-09-14 23:16:06 +02:00
|
|
|
|
|
|
|
affection-src = {
|
|
|
|
url = "git+https://gitea.nek0.eu/nek0/affection";
|
|
|
|
inputs = {
|
|
|
|
nixpkgs.follows = "nixos";
|
2022-09-17 17:52:56 +02:00
|
|
|
flake-utils.follows = "flake-utils";
|
2022-09-14 23:16:06 +02:00
|
|
|
};
|
|
|
|
};
|
2022-12-17 00:47:47 +01:00
|
|
|
alert2muc = {
|
|
|
|
url = "git+https://gitea.c3d2.de/astro/alert2muc";
|
2022-12-17 20:07:45 +01:00
|
|
|
inputs = {
|
|
|
|
naersk.follows = "naersk";
|
|
|
|
nixpkgs.follows = "nixos";
|
|
|
|
utils.follows = "flake-utils";
|
|
|
|
};
|
2022-12-17 00:47:47 +01:00
|
|
|
};
|
2022-09-14 21:34:27 +02:00
|
|
|
bevy-mandelbrot = {
|
2022-09-16 00:08:18 +02:00
|
|
|
# url = "github:matelab/bevy_mandelbrot";
|
|
|
|
url = "git+https://gitea.c3d2.de/astro/bevy-mandelbrot.git?ref=main";
|
2022-09-14 21:34:27 +02:00
|
|
|
inputs = {
|
|
|
|
naersk.follows = "naersk";
|
2022-09-17 17:52:56 +02:00
|
|
|
nixpkgs.follows = "nixos";
|
2022-09-14 23:16:06 +02:00
|
|
|
rust-overlay.follows = "rust-overlay";
|
2022-09-14 21:34:27 +02:00
|
|
|
};
|
|
|
|
};
|
2022-09-17 01:27:35 +02:00
|
|
|
bevy-julia = {
|
2022-09-17 21:13:40 +02:00
|
|
|
# url = "github:matelab/bevy_julia";
|
|
|
|
url = "git+https://gitea.c3d2.de/astro/bevy-julia.git?ref=main";
|
2022-09-17 01:27:35 +02:00
|
|
|
inputs = {
|
|
|
|
nixpkgs.follows = "nixos";
|
2022-12-17 20:07:45 +01:00
|
|
|
naersk.follows = "naersk";
|
2022-09-17 01:27:35 +02:00
|
|
|
rust-overlay.follows = "rust-overlay";
|
|
|
|
};
|
|
|
|
};
|
2022-12-20 00:44:34 +01:00
|
|
|
buzzrelay = {
|
2023-01-17 00:57:24 +01:00
|
|
|
url = "github:astro/buzzrelay";
|
2022-12-20 00:44:34 +01:00
|
|
|
inputs = {
|
|
|
|
naersk.follows = "naersk";
|
|
|
|
nixpkgs.follows = "nixos";
|
|
|
|
utils.follows = "flake-utils";
|
|
|
|
};
|
|
|
|
};
|
2022-11-03 20:49:26 +01:00
|
|
|
caveman = {
|
|
|
|
url = "git+https://gitea.c3d2.de/astro/caveman.git?ref=main";
|
|
|
|
inputs = {
|
|
|
|
nixpkgs.follows = "nixos";
|
|
|
|
utils.follows = "flake-utils";
|
|
|
|
fenix.follows = "fenix";
|
|
|
|
fenix.inputs.nixpkgs.follows = "nixpkgs";
|
|
|
|
naersk.follows = "naersk";
|
|
|
|
naersk.inputs.nixpkgs.follows = "nixpkgs";
|
|
|
|
};
|
|
|
|
};
|
2023-01-03 05:31:48 +01:00
|
|
|
c3d2-user-module = {
|
|
|
|
url = "git+https://gitea.c3d2.de/C3D2/nix-user-module.git";
|
|
|
|
inputs = {
|
|
|
|
nixos-modules.follows = "nixos-modules";
|
|
|
|
nixpkgs-lib.follows = "nixos";
|
|
|
|
};
|
|
|
|
};
|
2023-02-10 01:17:10 +01:00
|
|
|
deployment = {
|
|
|
|
url = "git+https://gitea.c3d2.de/C3D2/deployment.git";
|
|
|
|
inputs = {
|
|
|
|
zentralwerk.follows = "zentralwerk";
|
|
|
|
};
|
|
|
|
};
|
2022-05-31 12:47:58 +02:00
|
|
|
fenix = {
|
2023-03-01 22:25:30 +01:00
|
|
|
url = "github:nix-community/fenix/monthly";
|
2022-07-24 03:58:12 +02:00
|
|
|
inputs.nixpkgs.follows = "nixos";
|
2022-05-31 12:47:58 +02:00
|
|
|
};
|
2023-02-08 22:42:58 +01:00
|
|
|
flake-parts = {
|
|
|
|
url = "github:hercules-ci/flake-parts";
|
|
|
|
inputs.nixpkgs-lib.follows = "nixos";
|
|
|
|
};
|
2022-08-18 23:59:07 +02:00
|
|
|
flake-utils.url = "github:numtide/flake-utils";
|
2023-04-03 20:47:07 +02:00
|
|
|
# TODO: drop when switching to 23.05 and check if treefmt-nix is still used
|
2022-09-25 22:04:59 +02:00
|
|
|
harmonia = {
|
2023-01-25 22:22:33 +01:00
|
|
|
url = "github:nix-community/harmonia";
|
2023-02-08 22:42:58 +01:00
|
|
|
inputs = {
|
|
|
|
flake-parts.follows = "flake-parts";
|
|
|
|
nixpkgs.follows = "nixos";
|
2023-03-18 01:13:31 +01:00
|
|
|
treefmt-nix.follows = "treefmt-nix";
|
2023-02-08 22:42:58 +01:00
|
|
|
};
|
2022-09-25 22:04:59 +02:00
|
|
|
};
|
2022-05-31 12:47:58 +02:00
|
|
|
heliwatch = {
|
|
|
|
url = "git+https://gitea.c3d2.de/astro/heliwatch.git";
|
2022-04-17 22:45:05 +02:00
|
|
|
inputs = {
|
2022-05-31 12:47:58 +02:00
|
|
|
fenix.follows = "fenix";
|
2022-07-24 03:58:12 +02:00
|
|
|
nixpkgs.follows = "nixos";
|
2022-05-31 12:47:58 +02:00
|
|
|
naersk.follows = "naersk";
|
2022-09-03 01:26:45 +02:00
|
|
|
utils.follows = "flake-utils";
|
2022-04-17 22:45:05 +02:00
|
|
|
};
|
|
|
|
};
|
2022-12-20 04:11:23 +01:00
|
|
|
# hydra-ca.url = "github:mlabs-haskell/hydra/aciceri/ca-derivations";
|
2022-05-31 12:47:58 +02:00
|
|
|
microvm = {
|
|
|
|
url = "github:astro/microvm.nix";
|
2022-08-18 23:59:07 +02:00
|
|
|
inputs = {
|
2023-03-01 19:25:55 +01:00
|
|
|
fenix.follows = "fenix";
|
2022-08-18 23:59:07 +02:00
|
|
|
flake-utils.follows = "flake-utils";
|
2023-03-01 19:25:55 +01:00
|
|
|
nixpkgs.follows = "nixos";
|
2022-08-18 23:59:07 +02:00
|
|
|
};
|
2022-04-24 21:56:45 +02:00
|
|
|
};
|
2022-05-31 12:47:58 +02:00
|
|
|
naersk = {
|
|
|
|
url = "github:nix-community/naersk";
|
2022-09-17 17:52:56 +02:00
|
|
|
inputs = {
|
|
|
|
nixpkgs.follows = "nixos";
|
|
|
|
};
|
2022-05-31 12:47:58 +02:00
|
|
|
};
|
2023-01-03 05:31:48 +01:00
|
|
|
nixos-modules = {
|
|
|
|
url = "github:SuperSandro2000/nixos-modules";
|
|
|
|
inputs.nixpkgs-lib.follows = "nixos";
|
|
|
|
};
|
2022-06-27 23:06:38 +02:00
|
|
|
oparl-scraper = {
|
|
|
|
url = "github:offenesdresden/ratsinfo-scraper/oparl";
|
|
|
|
flake = false;
|
|
|
|
};
|
2022-05-31 12:47:58 +02:00
|
|
|
openwrt = {
|
|
|
|
url = "git+https://git.openwrt.org/openwrt/openwrt.git?ref=openwrt-21.02";
|
|
|
|
flake = false;
|
|
|
|
};
|
|
|
|
openwrt-imagebuilder = {
|
|
|
|
url = "github:astro/nix-openwrt-imagebuilder";
|
2022-04-17 22:45:05 +02:00
|
|
|
inputs = {
|
2022-07-24 03:58:12 +02:00
|
|
|
nixpkgs.follows = "nixos";
|
2022-05-31 12:47:58 +02:00
|
|
|
};
|
|
|
|
};
|
2022-09-14 23:16:06 +02:00
|
|
|
rust-overlay = {
|
2023-03-18 01:13:31 +01:00
|
|
|
url = "github:oxalica/rust-overlay/stable";
|
2022-09-14 23:16:06 +02:00
|
|
|
inputs = {
|
2022-09-17 17:52:56 +02:00
|
|
|
flake-utils.follows = "flake-utils";
|
2022-09-14 23:16:06 +02:00
|
|
|
nixpkgs.follows = "nixos";
|
|
|
|
};
|
|
|
|
};
|
2022-05-31 12:47:58 +02:00
|
|
|
scrapers = {
|
|
|
|
url = "git+https://gitea.c3d2.de/astro/scrapers.git";
|
|
|
|
flake = false;
|
|
|
|
};
|
2022-11-01 02:36:25 +01:00
|
|
|
skyflake = {
|
|
|
|
url = "github:astro/skyflake";
|
|
|
|
inputs = {
|
|
|
|
microvm.follows = "microvm";
|
|
|
|
nixpkgs.follows = "nixos";
|
|
|
|
};
|
|
|
|
};
|
2022-09-19 23:57:54 +02:00
|
|
|
sshlogd = {
|
|
|
|
url = "git+https://gitea.c3d2.de/astro/sshlogd.git?ref=main";
|
|
|
|
inputs = {
|
|
|
|
utils.follows = "flake-utils";
|
|
|
|
naersk.follows = "naersk";
|
|
|
|
nixpkgs.follows = "nixos";
|
|
|
|
fenix.follows = "fenix";
|
|
|
|
};
|
|
|
|
};
|
2022-12-27 03:40:34 +01:00
|
|
|
# deprecated
|
|
|
|
secrets.url = "git+ssh://gitea@gitea.c3d2.de/c3d2-admins/secrets.git";
|
2022-04-17 22:45:05 +02:00
|
|
|
sops-nix = {
|
|
|
|
url = "github:Mic92/sops-nix";
|
|
|
|
inputs = {
|
2022-07-24 03:58:12 +02:00
|
|
|
nixpkgs.follows = "nixos";
|
2022-12-05 23:51:03 +01:00
|
|
|
nixpkgs-stable.follows = "nixos";
|
2022-04-17 22:45:05 +02:00
|
|
|
};
|
|
|
|
};
|
2022-05-31 12:47:58 +02:00
|
|
|
spacemsg = {
|
|
|
|
url = "github:astro/spacemsg";
|
|
|
|
flake = false;
|
|
|
|
};
|
|
|
|
ticker = {
|
|
|
|
url = "git+https://gitea.c3d2.de/astro/ticker.git";
|
2022-07-16 01:05:49 +02:00
|
|
|
inputs = {
|
2022-12-20 20:00:04 +01:00
|
|
|
fenix.follows = "fenix";
|
2022-12-20 20:49:42 +01:00
|
|
|
# causes build failure
|
2022-12-20 13:43:27 +01:00
|
|
|
# naersk.follows = "naersk";
|
2022-12-20 20:00:04 +01:00
|
|
|
nixpkgs.follows = "nixos";
|
|
|
|
utils.follows = "flake-utils";
|
2022-07-16 01:05:49 +02:00
|
|
|
};
|
2022-05-31 12:47:58 +02:00
|
|
|
};
|
|
|
|
tigger = {
|
|
|
|
url = "github:astro/tigger";
|
|
|
|
flake = false;
|
|
|
|
};
|
2022-09-14 21:34:27 +02:00
|
|
|
tracer = {
|
2022-09-16 00:07:35 +02:00
|
|
|
# url = "git+https://gitea.nek0.eu/nek0/tracer";
|
|
|
|
url = "git+https://gitea.c3d2.de/astro/tracer";
|
|
|
|
inputs = {
|
2022-09-14 23:16:06 +02:00
|
|
|
affection-src.follows = "affection-src";
|
|
|
|
nixpkgs.follows = "nixos";
|
|
|
|
flake-utils.follows = "flake-utils";
|
|
|
|
};
|
2022-09-01 21:28:20 +02:00
|
|
|
};
|
2023-03-18 01:13:31 +01:00
|
|
|
treefmt-nix = {
|
|
|
|
url = "github:numtide/treefmt-nix";
|
|
|
|
inputs.nixpkgs.follows = "nixos";
|
|
|
|
};
|
2022-05-31 12:47:58 +02:00
|
|
|
yammat = {
|
2023-02-12 19:52:55 +01:00
|
|
|
url = "git+https://gitea.c3d2.de/C3D2/yammat.git";
|
2022-07-24 03:58:12 +02:00
|
|
|
inputs.nixpkgs.follows = "nixos";
|
2022-05-12 02:58:47 +02:00
|
|
|
};
|
2022-05-31 12:47:58 +02:00
|
|
|
zentralwerk = {
|
|
|
|
url = "git+https://gitea.c3d2.de/zentralwerk/network.git";
|
|
|
|
inputs = {
|
2022-07-24 03:58:12 +02:00
|
|
|
nixpkgs.follows = "nixos";
|
2022-05-31 12:47:58 +02:00
|
|
|
openwrt.follows = "openwrt";
|
|
|
|
openwrt-imagebuilder.follows = "openwrt-imagebuilder";
|
|
|
|
};
|
|
|
|
};
|
2020-06-11 07:50:42 +02:00
|
|
|
};
|
2020-04-15 19:00:56 +02:00
|
|
|
|
2023-03-09 21:47:10 +01:00
|
|
|
outputs = inputs@{ self, alert2muc, c3d2-user-module, deployment, fenix, harmonia, heliwatch, microvm, naersk, nixos, nixos-hardware, nixos-modules, buzzrelay, caveman, oparl-scraper, scrapers, secrets, skyflake, sshlogd, sops-nix, spacemsg, ticker, tigger, yammat, zentralwerk, ... }:
|
2021-02-22 12:31:58 +01:00
|
|
|
let
|
2022-07-24 03:58:12 +02:00
|
|
|
inherit (nixos) lib;
|
2022-07-16 01:00:45 +02:00
|
|
|
|
2021-09-07 00:38:16 +02:00
|
|
|
extractZwHosts = { hosts4, hosts6, ... }:
|
2022-01-13 18:38:36 +01:00
|
|
|
lib.recursiveUpdate (
|
2021-09-07 00:38:16 +02:00
|
|
|
builtins.foldl' (result: name:
|
2022-01-13 18:38:36 +01:00
|
|
|
lib.recursiveUpdate result {
|
2021-10-31 19:00:03 +01:00
|
|
|
"${name}".ip4 = hosts4."${name}";
|
2021-09-07 00:38:16 +02:00
|
|
|
}
|
|
|
|
) {} (builtins.attrNames hosts4)
|
|
|
|
) (
|
|
|
|
builtins.foldl' (result: ctx:
|
|
|
|
builtins.foldl' (result: name:
|
2022-01-13 18:38:36 +01:00
|
|
|
lib.recursiveUpdate result {
|
2021-10-31 19:00:03 +01:00
|
|
|
"${name}".ip6 = hosts6."${ctx}"."${name}";
|
2021-09-07 00:38:16 +02:00
|
|
|
}
|
2021-10-31 19:00:03 +01:00
|
|
|
) result (builtins.attrNames hosts6."${ctx}")
|
2021-09-07 00:38:16 +02:00
|
|
|
) {} (builtins.attrNames hosts6)
|
|
|
|
);
|
2022-12-27 00:06:49 +01:00
|
|
|
|
2022-12-20 05:40:58 +01:00
|
|
|
hostRegistry =
|
2022-12-20 01:31:25 +01:00
|
|
|
builtins.foldl' (result: net:
|
|
|
|
lib.recursiveUpdate result (extractZwHosts zentralwerk.lib.config.site.net."${net}")
|
|
|
|
) {} [ "core" "cluster" "c3d2" "serv" "flpk" "pub" ];
|
2020-04-14 08:42:13 +02:00
|
|
|
|
2022-12-27 02:53:45 +01:00
|
|
|
overlayList = [
|
|
|
|
fenix.overlays.default
|
|
|
|
heliwatch.overlay
|
|
|
|
naersk.overlay
|
|
|
|
self.overlays
|
|
|
|
];
|
|
|
|
|
2022-12-04 20:53:20 +01:00
|
|
|
# Our custom NixOS builder
|
|
|
|
nixosSystem' =
|
|
|
|
{ nixpkgs ? inputs.nixos
|
|
|
|
, modules
|
|
|
|
, system ? "x86_64-linux"
|
|
|
|
}@args:
|
|
|
|
|
2022-12-20 05:40:58 +01:00
|
|
|
{ inherit args; } // lib.nixosSystem {
|
|
|
|
inherit system;
|
2022-12-04 20:53:20 +01:00
|
|
|
|
|
|
|
modules = [
|
2023-01-03 03:04:54 +01:00
|
|
|
(_: {
|
2022-12-20 05:40:58 +01:00
|
|
|
_module.args = {
|
2022-12-04 20:53:20 +01:00
|
|
|
inherit hostRegistry inputs zentralwerk;
|
|
|
|
};
|
2022-12-20 04:31:37 +01:00
|
|
|
|
2022-12-27 02:53:45 +01:00
|
|
|
nixpkgs.overlays = overlayList;
|
2022-12-04 20:53:20 +01:00
|
|
|
})
|
|
|
|
|
|
|
|
self.nixosModules.c3d2
|
2023-01-03 05:31:48 +01:00
|
|
|
c3d2-user-module.nixosModule
|
2023-02-08 22:42:58 +01:00
|
|
|
harmonia.nixosModules.harmonia
|
2022-12-20 04:31:37 +01:00
|
|
|
nixos-modules.nixosModule
|
|
|
|
./config
|
2022-12-04 20:53:20 +01:00
|
|
|
./modules/audio-server.nix
|
|
|
|
./modules/c3d2.nix
|
|
|
|
./modules/stats.nix
|
|
|
|
./modules/pi-sensors.nix
|
|
|
|
] ++ modules;
|
|
|
|
};
|
2021-09-08 00:33:57 +02:00
|
|
|
in {
|
2022-12-04 07:56:27 +01:00
|
|
|
overlays = import ./overlays {
|
2022-09-17 01:27:35 +02:00
|
|
|
inherit (inputs) tracer bevy-mandelbrot bevy-julia;
|
2022-07-17 01:48:50 +02:00
|
|
|
};
|
2021-02-26 20:22:15 +01:00
|
|
|
|
2022-12-27 02:53:45 +01:00
|
|
|
legacyPackages = lib.attrsets.mapAttrs (_: pkgs: pkgs.appendOverlays overlayList) nixos.legacyPackages;
|
2020-04-21 13:44:42 +02:00
|
|
|
|
2022-12-27 00:06:49 +01:00
|
|
|
lib = { inherit hostRegistry; };
|
|
|
|
|
2023-03-10 15:03:27 +01:00
|
|
|
packages = import ./packages.nix { inherit hostRegistry inputs lib microvm self; };
|
2021-05-26 18:50:48 +02:00
|
|
|
|
2022-12-04 20:53:20 +01:00
|
|
|
nixosConfigurations = {
|
2022-07-23 00:06:12 +02:00
|
|
|
auth = nixosSystem' {
|
|
|
|
modules = [
|
|
|
|
self.nixosModules.microvm
|
2022-07-31 17:47:55 +02:00
|
|
|
./hosts/auth
|
2022-07-23 00:06:12 +02:00
|
|
|
];
|
|
|
|
};
|
2020-08-04 17:15:07 +02:00
|
|
|
|
2022-12-26 22:46:35 +01:00
|
|
|
bind = nixosSystem' {
|
2022-07-16 02:03:47 +02:00
|
|
|
modules = [
|
|
|
|
self.nixosModules.microvm
|
2022-12-26 22:46:35 +01:00
|
|
|
./hosts/bind
|
2022-07-16 02:03:47 +02:00
|
|
|
];
|
|
|
|
};
|
|
|
|
|
2022-12-26 22:46:35 +01:00
|
|
|
blogs = nixosSystem' {
|
2022-08-05 19:08:22 +02:00
|
|
|
modules = [
|
|
|
|
self.nixosModules.microvm
|
2022-12-26 22:46:35 +01:00
|
|
|
./hosts/blogs
|
2022-08-05 19:08:22 +02:00
|
|
|
];
|
|
|
|
};
|
2022-12-27 00:06:49 +01:00
|
|
|
|
2022-12-26 22:46:35 +01:00
|
|
|
broker = nixosSystem' {
|
2021-03-05 01:16:57 +01:00
|
|
|
modules = [
|
2022-06-16 21:18:04 +02:00
|
|
|
self.nixosModules.microvm
|
2022-12-26 22:46:35 +01:00
|
|
|
./hosts/broker
|
2021-03-05 01:16:57 +01:00
|
|
|
];
|
2021-02-26 20:22:15 +01:00
|
|
|
};
|
|
|
|
|
2022-12-26 22:46:35 +01:00
|
|
|
buzzrelay = nixosSystem' {
|
2022-07-16 20:38:23 +02:00
|
|
|
modules = [
|
2023-01-02 03:49:42 +01:00
|
|
|
self.nixosModules.microvm
|
2022-12-26 22:46:35 +01:00
|
|
|
buzzrelay.nixosModules.default
|
|
|
|
./hosts/buzzrelay
|
2022-07-16 20:38:23 +02:00
|
|
|
];
|
|
|
|
};
|
|
|
|
|
2022-12-26 22:46:35 +01:00
|
|
|
c3d2-web = nixosSystem' {
|
2021-10-02 20:28:30 +02:00
|
|
|
modules = [
|
2022-12-26 22:46:35 +01:00
|
|
|
{ _module.args = { inherit nixos; }; }
|
2022-06-20 22:10:23 +02:00
|
|
|
self.nixosModules.microvm
|
2022-12-26 22:46:35 +01:00
|
|
|
./hosts/c3d2-web
|
2021-02-22 14:16:25 +01:00
|
|
|
];
|
2021-02-22 13:21:31 +01:00
|
|
|
};
|
|
|
|
|
2022-12-26 22:46:35 +01:00
|
|
|
caveman = nixosSystem' {
|
2022-06-21 22:00:17 +02:00
|
|
|
modules = [
|
|
|
|
self.nixosModules.microvm
|
2022-12-26 22:46:35 +01:00
|
|
|
caveman.nixosModule
|
|
|
|
./hosts/caveman
|
2022-06-21 22:00:17 +02:00
|
|
|
];
|
|
|
|
};
|
|
|
|
|
2022-12-26 22:46:35 +01:00
|
|
|
dacbert = nixosSystem' {
|
2021-09-23 19:34:09 +02:00
|
|
|
modules = [
|
2022-12-26 22:46:35 +01:00
|
|
|
nixos-hardware.nixosModules.raspberry-pi-4
|
|
|
|
self.nixosModules.rpi-netboot
|
|
|
|
./hosts/dacbert
|
2021-09-23 19:34:09 +02:00
|
|
|
];
|
2022-12-26 22:46:35 +01:00
|
|
|
system = "aarch64-linux";
|
2021-02-22 13:21:31 +01:00
|
|
|
};
|
2020-08-04 17:15:07 +02:00
|
|
|
|
2022-12-26 22:46:35 +01:00
|
|
|
dn42 = nixosSystem' {
|
2021-09-23 03:32:17 +02:00
|
|
|
modules = [
|
2022-12-26 22:46:35 +01:00
|
|
|
self.nixosModules.microvm
|
|
|
|
./hosts/dn42
|
2021-12-29 21:09:43 +01:00
|
|
|
{
|
2022-12-27 02:54:01 +01:00
|
|
|
# TODO: migrate to sops
|
2022-12-26 22:46:35 +01:00
|
|
|
nixpkgs.overlays = [ secrets.overlays.dn42 ];
|
|
|
|
}
|
2021-09-23 03:32:17 +02:00
|
|
|
];
|
2021-09-22 21:21:13 +02:00
|
|
|
};
|
|
|
|
|
2023-01-29 22:45:13 +01:00
|
|
|
drone = nixosSystem' {
|
|
|
|
modules = [
|
|
|
|
self.nixosModules.microvm
|
|
|
|
./hosts/drone
|
|
|
|
];
|
|
|
|
};
|
|
|
|
|
2022-12-26 22:46:35 +01:00
|
|
|
freifunk = nixosSystem' {
|
2021-09-27 22:19:24 +02:00
|
|
|
modules = [
|
2022-12-26 22:46:35 +01:00
|
|
|
self.nixosModules.microvm
|
|
|
|
./hosts/freifunk
|
|
|
|
{
|
2022-12-27 02:54:01 +01:00
|
|
|
# TODO: migrate to sops
|
2022-12-26 22:46:35 +01:00
|
|
|
nixpkgs.overlays = with secrets.overlays; [
|
|
|
|
freifunk ospf
|
|
|
|
];
|
|
|
|
}
|
2021-09-27 22:19:24 +02:00
|
|
|
];
|
|
|
|
};
|
|
|
|
|
2022-12-26 22:46:35 +01:00
|
|
|
ftp = nixosSystem' {
|
2022-03-13 23:49:12 +01:00
|
|
|
modules = [
|
2022-12-26 22:46:35 +01:00
|
|
|
self.nixosModules.microvm
|
|
|
|
./hosts/ftp
|
2022-03-13 23:49:12 +01:00
|
|
|
];
|
2022-09-26 22:45:34 +02:00
|
|
|
};
|
2022-09-26 19:21:08 +02:00
|
|
|
|
2022-12-26 22:46:35 +01:00
|
|
|
gitea = nixosSystem' {
|
2022-09-26 19:21:08 +02:00
|
|
|
modules = [
|
2022-12-26 22:46:35 +01:00
|
|
|
self.nixosModules.microvm
|
|
|
|
./hosts/gitea
|
2022-09-26 19:21:08 +02:00
|
|
|
];
|
2022-03-13 23:49:12 +01:00
|
|
|
};
|
|
|
|
|
2022-12-26 22:46:35 +01:00
|
|
|
glotzbert = nixosSystem' {
|
2021-03-06 01:13:27 +01:00
|
|
|
modules = [
|
2022-12-26 22:46:35 +01:00
|
|
|
./hosts/glotzbert
|
|
|
|
nixos-hardware.nixosModules.common-cpu-intel
|
|
|
|
nixos-hardware.nixosModules.common-pc-ssd
|
2021-03-06 01:13:27 +01:00
|
|
|
];
|
|
|
|
};
|
|
|
|
|
2022-12-26 22:46:35 +01:00
|
|
|
gnunet = nixosSystem' {
|
2021-03-06 02:57:35 +01:00
|
|
|
modules = [
|
2022-12-26 22:46:35 +01:00
|
|
|
self.nixosModules.cluster-options
|
2023-02-21 00:07:14 +01:00
|
|
|
self.nixosModules.microvm-defaults
|
2022-12-26 22:46:35 +01:00
|
|
|
./hosts/gnunet
|
2021-03-06 02:57:35 +01:00
|
|
|
];
|
|
|
|
};
|
|
|
|
|
2022-12-26 22:46:35 +01:00
|
|
|
grafana = nixosSystem' {
|
2021-03-11 15:59:00 +01:00
|
|
|
modules = [
|
2022-06-16 23:17:10 +02:00
|
|
|
self.nixosModules.microvm
|
2022-12-26 22:46:35 +01:00
|
|
|
./hosts/grafana
|
2021-03-11 15:59:00 +01:00
|
|
|
];
|
|
|
|
};
|
|
|
|
|
2022-12-26 22:46:35 +01:00
|
|
|
hedgedoc = nixosSystem' {
|
2021-03-11 16:40:39 +01:00
|
|
|
modules = [
|
2022-06-18 02:09:33 +02:00
|
|
|
self.nixosModules.microvm
|
2022-12-26 22:46:35 +01:00
|
|
|
./hosts/hedgedoc
|
2021-03-11 16:40:39 +01:00
|
|
|
];
|
|
|
|
};
|
|
|
|
|
2021-03-12 21:45:12 +01:00
|
|
|
hydra = nixosSystem' {
|
|
|
|
modules = [
|
2022-11-01 02:36:25 +01:00
|
|
|
self.nixosModules.cluster
|
|
|
|
skyflake.nixosModules.default
|
2023-02-08 22:42:58 +01:00
|
|
|
harmonia.nixosModules.harmonia
|
2022-05-05 22:34:51 +02:00
|
|
|
./hosts/hydra
|
2021-03-12 21:45:12 +01:00
|
|
|
];
|
|
|
|
};
|
|
|
|
|
2022-12-26 22:46:35 +01:00
|
|
|
jabber = nixosSystem' {
|
2021-06-23 21:59:10 +02:00
|
|
|
modules = [
|
2022-12-27 02:54:01 +01:00
|
|
|
{
|
|
|
|
# TODO: migrate to sops
|
|
|
|
nixpkgs.overlays = with secrets.overlays; [ jabber ];
|
|
|
|
}
|
2022-06-16 22:23:36 +02:00
|
|
|
self.nixosModules.microvm
|
2022-12-26 22:46:35 +01:00
|
|
|
./hosts/jabber
|
2021-06-23 21:59:10 +02:00
|
|
|
];
|
|
|
|
};
|
|
|
|
|
2022-12-26 22:46:35 +01:00
|
|
|
leon = nixosSystem' {
|
2021-09-10 00:21:38 +02:00
|
|
|
modules = [
|
2023-02-23 00:58:35 +01:00
|
|
|
self.nixosModules.cluster-options
|
|
|
|
self.nixosModules.microvm-defaults
|
2022-12-26 22:46:35 +01:00
|
|
|
./hosts/leon
|
2021-09-10 00:21:38 +02:00
|
|
|
];
|
|
|
|
};
|
|
|
|
|
2022-12-26 22:46:35 +01:00
|
|
|
leoncloud = nixosSystem' {
|
2021-09-10 22:59:40 +02:00
|
|
|
modules = [
|
2022-11-26 00:37:22 +01:00
|
|
|
self.nixosModules.cluster-options
|
2023-02-21 00:07:14 +01:00
|
|
|
self.nixosModules.microvm-defaults
|
2022-12-26 22:46:35 +01:00
|
|
|
./hosts/leoncloud
|
2021-09-10 22:59:40 +02:00
|
|
|
];
|
|
|
|
};
|
|
|
|
|
2022-12-26 22:46:35 +01:00
|
|
|
mailtngbert = nixosSystem' {
|
2021-09-20 22:11:17 +02:00
|
|
|
modules = [
|
2022-06-16 23:48:49 +02:00
|
|
|
self.nixosModules.microvm
|
2022-12-26 22:46:35 +01:00
|
|
|
./hosts/mailtngbert
|
2021-09-20 22:11:17 +02:00
|
|
|
];
|
2022-12-26 22:46:35 +01:00
|
|
|
system = "x86_64-linux";
|
2021-09-20 22:11:17 +02:00
|
|
|
};
|
|
|
|
|
2023-03-24 01:56:38 +01:00
|
|
|
matrix = nixosSystem' {
|
|
|
|
modules = [
|
|
|
|
self.nixosModules.microvm
|
|
|
|
./hosts/matrix
|
|
|
|
];
|
|
|
|
};
|
|
|
|
|
2022-12-26 22:46:35 +01:00
|
|
|
mastodon = nixosSystem' {
|
2021-10-06 02:55:30 +02:00
|
|
|
modules = [
|
2022-06-18 02:42:41 +02:00
|
|
|
self.nixosModules.microvm
|
2022-12-26 22:46:35 +01:00
|
|
|
./hosts/mastodon
|
2021-10-06 02:55:30 +02:00
|
|
|
];
|
|
|
|
};
|
|
|
|
|
2022-12-26 22:46:35 +01:00
|
|
|
matemat = nixosSystem' {
|
2021-10-07 23:00:50 +02:00
|
|
|
modules = [
|
2022-12-26 22:46:35 +01:00
|
|
|
self.nixosModules.microvm
|
|
|
|
./hosts/matemat
|
|
|
|
yammat.nixosModule
|
2021-10-07 23:00:50 +02:00
|
|
|
];
|
|
|
|
};
|
|
|
|
|
2022-12-26 22:46:35 +01:00
|
|
|
mediawiki = nixosSystem' {
|
2021-10-15 02:07:50 +02:00
|
|
|
modules = [
|
2022-06-18 02:43:11 +02:00
|
|
|
self.nixosModules.microvm
|
2022-12-26 22:46:35 +01:00
|
|
|
./hosts/mediawiki
|
2021-10-15 02:07:50 +02:00
|
|
|
];
|
|
|
|
};
|
|
|
|
|
2022-12-26 22:46:35 +01:00
|
|
|
mobilizon = nixosSystem' {
|
|
|
|
# TODO: pending https://github.com/NixOS/nixpkgs/pull/119132
|
|
|
|
# cherry-picked by sandro into his 22.11 fork
|
|
|
|
# nixpkgs = inputs.nixos-mobilizon;
|
2021-10-18 03:46:25 +02:00
|
|
|
modules = [
|
2022-06-20 00:15:34 +02:00
|
|
|
self.nixosModules.microvm
|
2022-12-26 22:46:35 +01:00
|
|
|
./hosts/mobilizon
|
2021-10-18 03:46:25 +02:00
|
|
|
];
|
|
|
|
};
|
|
|
|
|
2022-12-26 22:46:35 +01:00
|
|
|
mucbot = nixosSystem' {
|
2021-12-24 03:18:20 +01:00
|
|
|
modules = [
|
2022-12-26 22:46:35 +01:00
|
|
|
"${tigger}/module.nix"
|
2022-12-27 02:54:01 +01:00
|
|
|
{
|
|
|
|
_module.args = { inherit tigger; };
|
|
|
|
|
|
|
|
# TODO: migrate to sops
|
|
|
|
nixpkgs.overlays = [ secrets.overlays.mucbot ];
|
|
|
|
}
|
2022-12-26 22:46:35 +01:00
|
|
|
./hosts/mucbot
|
|
|
|
self.nixosModules.cluster-options
|
2023-02-21 00:07:14 +01:00
|
|
|
self.nixosModules.microvm-defaults
|
2021-12-24 03:18:20 +01:00
|
|
|
];
|
|
|
|
};
|
|
|
|
|
2022-12-26 22:46:35 +01:00
|
|
|
network-homepage = nixosSystem' {
|
2022-11-24 18:48:34 +01:00
|
|
|
modules = [
|
2022-12-26 22:46:35 +01:00
|
|
|
self.nixosModules.microvm
|
|
|
|
./hosts/network-homepage
|
2022-11-24 18:48:34 +01:00
|
|
|
];
|
|
|
|
};
|
|
|
|
|
2022-12-26 22:46:35 +01:00
|
|
|
nfsroot = nixosSystem' {
|
2022-06-18 01:07:43 +02:00
|
|
|
modules = [
|
2022-12-26 22:46:35 +01:00
|
|
|
self.nixosModules.microvm
|
|
|
|
./hosts/nfsroot
|
|
|
|
{
|
|
|
|
_module.args.tftproots = nixos.lib.filterAttrs (name: _:
|
|
|
|
builtins.match ".+-tftproot" name != null
|
|
|
|
) self.packages.x86_64-linux;
|
|
|
|
}
|
2022-06-18 01:07:43 +02:00
|
|
|
];
|
|
|
|
};
|
|
|
|
|
2022-12-26 22:46:35 +01:00
|
|
|
nncp = nixosSystem' {
|
2022-05-14 20:33:56 +02:00
|
|
|
modules = [
|
2022-12-26 22:46:35 +01:00
|
|
|
self.nixosModules.microvm
|
|
|
|
self.nixosModules.nncp
|
|
|
|
./hosts/nncp
|
2022-05-14 20:33:56 +02:00
|
|
|
];
|
|
|
|
};
|
|
|
|
|
2022-05-28 00:12:18 +02:00
|
|
|
oparl = nixosSystem' {
|
|
|
|
modules = [
|
2022-06-16 21:18:04 +02:00
|
|
|
self.nixosModules.microvm
|
2022-07-31 17:47:55 +02:00
|
|
|
./hosts/oparl
|
2022-06-27 23:06:38 +02:00
|
|
|
{
|
|
|
|
_module.args = { inherit oparl-scraper; };
|
|
|
|
}
|
2022-05-28 00:12:18 +02:00
|
|
|
];
|
|
|
|
};
|
|
|
|
|
2022-12-26 22:46:35 +01:00
|
|
|
owncast = nixosSystem' {
|
2022-06-01 20:46:47 +02:00
|
|
|
modules = [
|
2022-11-21 03:22:40 +01:00
|
|
|
self.nixosModules.cluster-options
|
2023-02-21 00:07:14 +01:00
|
|
|
self.nixosModules.microvm-defaults
|
2022-12-26 22:46:35 +01:00
|
|
|
./hosts/owncast
|
2022-06-01 20:46:47 +02:00
|
|
|
];
|
|
|
|
};
|
|
|
|
|
2023-01-20 22:38:34 +01:00
|
|
|
oxigraph = nixosSystem' {
|
|
|
|
modules = [
|
|
|
|
self.nixosModules.cluster-options
|
2023-02-21 00:07:14 +01:00
|
|
|
self.nixosModules.microvm-defaults
|
2023-01-20 22:38:34 +01:00
|
|
|
./hosts/oxigraph
|
|
|
|
];
|
|
|
|
};
|
|
|
|
|
2022-12-26 22:46:35 +01:00
|
|
|
prometheus = nixosSystem' {
|
2022-09-05 22:17:11 +02:00
|
|
|
modules = [
|
2023-01-03 00:20:16 +01:00
|
|
|
self.nixosModules.microvm
|
2022-12-26 22:46:35 +01:00
|
|
|
alert2muc.nixosModules.default
|
|
|
|
./hosts/prometheus
|
2022-09-05 22:17:11 +02:00
|
|
|
];
|
|
|
|
};
|
|
|
|
|
2022-12-26 22:46:35 +01:00
|
|
|
pulsebert = nixosSystem' {
|
2022-06-07 20:15:09 +02:00
|
|
|
modules = [
|
2022-12-26 22:46:35 +01:00
|
|
|
./hosts/pulsebert
|
|
|
|
# build: outputs.nixosConfigurations.pulsebert.config.system.build.sdImage
|
|
|
|
# run: unzstd -cd result/sd-image/nixos-sd-image-*-aarch64-linux.img.zst | pv -br | sudo dd bs=4M of=/dev/sdX
|
|
|
|
"${inputs.nixos}/nixos/modules/installer/sd-card/sd-image-aarch64-new-kernel.nix"
|
2022-06-21 23:34:13 +02:00
|
|
|
{
|
2022-12-26 22:46:35 +01:00
|
|
|
nixpkgs = {
|
|
|
|
hostPlatform = "aarch64-linux";
|
|
|
|
# buildPlatform = "x86_64-linux";
|
|
|
|
};
|
2022-08-22 22:14:16 +02:00
|
|
|
}
|
|
|
|
];
|
2022-06-07 20:15:09 +02:00
|
|
|
};
|
|
|
|
|
2022-12-26 22:46:35 +01:00
|
|
|
public-access-proxy = nixosSystem' {
|
|
|
|
modules = [
|
|
|
|
self.nixosModules.microvm
|
|
|
|
./hosts/public-access-proxy
|
|
|
|
];
|
|
|
|
};
|
|
|
|
|
|
|
|
radiobert = nixosSystem' {
|
|
|
|
modules = [
|
|
|
|
./hosts/radiobert
|
|
|
|
];
|
|
|
|
system = "aarch64-linux";
|
|
|
|
};
|
|
|
|
|
2022-06-08 22:55:35 +02:00
|
|
|
riscbert = nixosSystem' {
|
|
|
|
modules = [
|
2022-10-10 20:36:55 +02:00
|
|
|
nixos-hardware.nixosModules.starfive-visionfive-v1
|
2022-06-08 22:55:35 +02:00
|
|
|
./hosts/riscbert
|
2022-10-13 20:03:37 +02:00
|
|
|
{
|
|
|
|
nixpkgs.crossSystem = {
|
|
|
|
config = "riscv64-unknown-linux-gnu";
|
|
|
|
system = "riscv64-linux";
|
|
|
|
};
|
|
|
|
}
|
2022-06-08 22:55:35 +02:00
|
|
|
];
|
2022-09-05 04:18:00 +02:00
|
|
|
system = "x86_64-linux";
|
2022-06-08 22:55:35 +02:00
|
|
|
};
|
|
|
|
|
2022-12-26 22:46:35 +01:00
|
|
|
rpi-netboot = nixosSystem' {
|
2022-06-23 18:38:42 +02:00
|
|
|
modules = [
|
2022-12-26 22:46:35 +01:00
|
|
|
{ _module.args = { inherit nixos; }; }
|
|
|
|
nixos-hardware.nixosModules.raspberry-pi-4
|
|
|
|
self.nixosModules.rpi-netboot
|
|
|
|
./hosts/rpi-netboot
|
2022-06-23 18:38:42 +02:00
|
|
|
];
|
2022-12-26 22:46:35 +01:00
|
|
|
system = "aarch64-linux";
|
2022-06-23 18:38:42 +02:00
|
|
|
};
|
|
|
|
|
2022-12-26 22:46:35 +01:00
|
|
|
schalter = nixosSystem' {
|
2022-07-06 21:09:04 +02:00
|
|
|
modules = [
|
2022-12-26 22:46:35 +01:00
|
|
|
"${nixos}/nixos/modules/installer/sd-card/sd-image-raspberrypi.nix"
|
|
|
|
./hosts/schalter
|
2022-07-06 21:09:04 +02:00
|
|
|
];
|
2022-12-26 22:46:35 +01:00
|
|
|
system = "x86_64-linux";
|
2022-07-06 21:09:04 +02:00
|
|
|
};
|
2022-09-15 20:32:50 +02:00
|
|
|
|
2022-12-26 22:46:35 +01:00
|
|
|
scrape = nixosSystem' {
|
2022-09-15 20:32:50 +02:00
|
|
|
modules = [
|
|
|
|
self.nixosModules.microvm
|
2022-12-26 22:46:35 +01:00
|
|
|
./hosts/scrape
|
|
|
|
{
|
|
|
|
_module.args = { inherit scrapers; };
|
2022-12-27 02:54:01 +01:00
|
|
|
|
|
|
|
# TODO: migrate to sops
|
|
|
|
nixpkgs.overlays = [ secrets.overlays.scrape ];
|
2022-12-26 22:46:35 +01:00
|
|
|
}
|
2022-09-15 20:32:50 +02:00
|
|
|
];
|
|
|
|
};
|
2022-09-19 23:57:54 +02:00
|
|
|
|
2022-12-26 22:46:35 +01:00
|
|
|
sdrweb = nixosSystem' {
|
2022-09-19 23:57:54 +02:00
|
|
|
modules = [
|
2022-11-20 21:02:58 +01:00
|
|
|
self.nixosModules.cluster-options
|
2023-02-21 00:07:14 +01:00
|
|
|
self.nixosModules.microvm-defaults
|
2022-12-27 02:54:01 +01:00
|
|
|
{
|
|
|
|
# TODO: migrate to sops
|
|
|
|
nixpkgs.overlays = [ secrets.overlays.mucbot ];
|
|
|
|
}
|
2022-12-26 22:46:35 +01:00
|
|
|
heliwatch.nixosModules.heliwatch
|
|
|
|
./hosts/sdrweb
|
2022-09-19 23:57:54 +02:00
|
|
|
];
|
|
|
|
};
|
2022-10-22 21:38:12 +02:00
|
|
|
|
2023-03-06 20:39:09 +01:00
|
|
|
server7 = nixosSystem' {
|
|
|
|
modules = [
|
|
|
|
./hosts/server7
|
|
|
|
self.nixosModules.cluster-network
|
|
|
|
self.nixosModules.cluster
|
|
|
|
skyflake.nixosModules.default
|
|
|
|
{ _module.args = { inherit self; }; }
|
|
|
|
];
|
|
|
|
};
|
|
|
|
|
2022-12-26 22:46:35 +01:00
|
|
|
server8 = nixosSystem' {
|
2022-10-22 21:38:12 +02:00
|
|
|
modules = [
|
2022-12-26 22:46:35 +01:00
|
|
|
./hosts/server8
|
|
|
|
self.nixosModules.cluster-network
|
|
|
|
self.nixosModules.cluster
|
|
|
|
skyflake.nixosModules.default
|
|
|
|
{ _module.args = { inherit self; }; }
|
2022-10-22 21:38:12 +02:00
|
|
|
];
|
|
|
|
};
|
|
|
|
|
2022-12-26 22:46:35 +01:00
|
|
|
server9 = nixosSystem' {
|
2022-11-03 20:49:26 +01:00
|
|
|
modules = [
|
2022-12-26 22:46:35 +01:00
|
|
|
./hosts/server9
|
|
|
|
microvm.nixosModules.host
|
|
|
|
self.nixosModules.microvm-host
|
|
|
|
self.nixosModules.cluster-network
|
|
|
|
self.nixosModules.cluster
|
|
|
|
skyflake.nixosModules.default
|
|
|
|
{ _module.args = { inherit self; }; }
|
2022-11-03 20:49:26 +01:00
|
|
|
];
|
|
|
|
};
|
|
|
|
|
2022-12-26 22:46:35 +01:00
|
|
|
server10 = nixosSystem' {
|
2022-11-21 19:39:38 +01:00
|
|
|
modules = [
|
2022-12-26 22:46:35 +01:00
|
|
|
./hosts/server10
|
|
|
|
microvm.nixosModules.host
|
|
|
|
self.nixosModules.microvm-host
|
|
|
|
self.nixosModules.cluster-network
|
|
|
|
self.nixosModules.cluster
|
|
|
|
skyflake.nixosModules.default
|
|
|
|
{ _module.args = { inherit self; }; }
|
2022-11-21 19:39:38 +01:00
|
|
|
];
|
|
|
|
};
|
2022-11-27 01:14:30 +01:00
|
|
|
|
2022-12-26 22:46:35 +01:00
|
|
|
spaceapi = nixosSystem' {
|
2022-11-27 01:14:30 +01:00
|
|
|
modules = [
|
2022-12-26 22:46:35 +01:00
|
|
|
self.nixosModules.microvm
|
|
|
|
"${spacemsg}/spaceapi/module.nix"
|
|
|
|
./hosts/spaceapi
|
2022-11-27 01:14:30 +01:00
|
|
|
];
|
|
|
|
};
|
2022-11-30 00:34:54 +01:00
|
|
|
|
2022-12-26 22:46:35 +01:00
|
|
|
sshlog = nixosSystem' {
|
2022-11-30 00:34:54 +01:00
|
|
|
modules = [
|
2022-12-26 22:46:35 +01:00
|
|
|
self.nixosModules.cluster-options
|
2023-02-21 00:07:14 +01:00
|
|
|
self.nixosModules.microvm-defaults
|
2022-12-26 22:46:35 +01:00
|
|
|
sshlogd.nixosModule
|
|
|
|
./hosts/sshlog
|
2022-11-30 00:34:54 +01:00
|
|
|
];
|
|
|
|
};
|
2022-12-19 20:57:43 +01:00
|
|
|
|
2022-12-26 22:46:35 +01:00
|
|
|
stream = nixosSystem' {
|
2022-12-19 20:57:43 +01:00
|
|
|
modules = [
|
|
|
|
self.nixosModules.cluster-options
|
2023-02-21 00:07:14 +01:00
|
|
|
self.nixosModules.microvm-defaults
|
2022-12-26 22:46:35 +01:00
|
|
|
./hosts/stream
|
2022-12-19 20:57:43 +01:00
|
|
|
];
|
|
|
|
};
|
2022-12-20 13:43:27 +01:00
|
|
|
|
2022-12-26 22:46:35 +01:00
|
|
|
ticker = nixosSystem' {
|
2022-12-20 13:43:27 +01:00
|
|
|
modules = [
|
2022-12-26 22:46:35 +01:00
|
|
|
self.nixosModules.microvm
|
2022-12-20 13:43:27 +01:00
|
|
|
ticker.nixosModules.ticker
|
2022-12-26 22:46:35 +01:00
|
|
|
./hosts/ticker
|
2022-12-20 13:43:27 +01:00
|
|
|
];
|
|
|
|
};
|
2022-12-23 20:25:00 +01:00
|
|
|
|
2023-01-18 18:31:08 +01:00
|
|
|
tmppleroma = nixosSystem' {
|
|
|
|
modules = [
|
|
|
|
self.nixosModules.cluster-options
|
2023-02-21 00:07:14 +01:00
|
|
|
self.nixosModules.microvm-defaults
|
2023-01-18 18:31:08 +01:00
|
|
|
sshlogd.nixosModule
|
|
|
|
./hosts/tmppleroma
|
|
|
|
];
|
|
|
|
};
|
2020-08-04 17:15:07 +02:00
|
|
|
};
|
|
|
|
|
2022-01-13 18:38:36 +01:00
|
|
|
nixosModules = {
|
2022-01-18 21:44:17 +01:00
|
|
|
c3d2 = {
|
2022-01-16 00:09:17 +01:00
|
|
|
imports = [
|
2023-03-21 01:26:54 +01:00
|
|
|
sops-nix.nixosModules.default
|
2022-10-31 20:30:25 +01:00
|
|
|
./modules/audio-server.nix
|
|
|
|
./modules/autoupdate.nix
|
|
|
|
./modules/backup.nix
|
2022-01-16 00:09:17 +01:00
|
|
|
./modules/c3d2.nix
|
2022-01-18 15:39:35 +01:00
|
|
|
./modules/nncp.nix
|
2022-12-10 20:47:39 +01:00
|
|
|
./modules/monitoring.nix
|
2023-01-07 23:36:25 +01:00
|
|
|
./modules/plume.nix
|
2022-10-31 20:30:25 +01:00
|
|
|
./modules/stats.nix
|
2022-01-16 00:09:17 +01:00
|
|
|
];
|
2022-12-20 01:31:25 +01:00
|
|
|
c3d2.sshKeys = (import ./ssh-public-keys.nix).users;
|
2022-09-28 21:10:09 +02:00
|
|
|
c3d2.nncp.neigh = import ./modules/nncp-relays.nix;
|
2022-01-16 00:09:17 +01:00
|
|
|
};
|
2022-07-04 00:21:29 +02:00
|
|
|
cluster = ./modules/cluster;
|
2023-02-10 01:17:10 +01:00
|
|
|
cluster-options = deployment.nixosModules.deployment-options;
|
2022-11-02 16:54:42 +01:00
|
|
|
cluster-network = ./modules/cluster/network.nix;
|
2023-02-21 00:07:14 +01:00
|
|
|
microvm-defaults = ./modules/microvm-defaults.nix;
|
2022-06-16 21:18:04 +02:00
|
|
|
microvm.imports = [
|
|
|
|
microvm.nixosModules.microvm
|
|
|
|
./modules/microvm.nix
|
|
|
|
];
|
2022-08-17 20:57:26 +02:00
|
|
|
microvm-host = ./modules/microvm-host.nix;
|
2022-01-15 11:00:01 +01:00
|
|
|
nncp = ./modules/nncp.nix;
|
2022-03-16 20:38:00 +01:00
|
|
|
rpi-netboot = ./modules/rpi-netboot.nix;
|
2022-01-13 18:38:36 +01:00
|
|
|
};
|
2021-11-10 00:33:29 +01:00
|
|
|
|
2022-07-31 17:47:55 +02:00
|
|
|
# `nix develop`
|
|
|
|
devShell = lib.mapAttrs (system: sopsPkgs:
|
2022-07-31 18:08:28 +02:00
|
|
|
with nixos.legacyPackages.${system};
|
2022-07-31 17:47:55 +02:00
|
|
|
mkShell {
|
|
|
|
sopsPGPKeyDirs = [ "./keys" ];
|
|
|
|
nativeBuildInputs = [
|
|
|
|
sopsPkgs.sops-import-keys-hook
|
|
|
|
];
|
|
|
|
}
|
|
|
|
) sops-nix.packages;
|
|
|
|
|
2022-05-31 22:07:32 +02:00
|
|
|
hydraJobs =
|
2022-12-04 04:58:36 +01:00
|
|
|
lib.mapAttrs (_: nixos.lib.hydraJob) (
|
2022-12-04 20:53:20 +01:00
|
|
|
let
|
2023-04-03 00:27:51 +02:00
|
|
|
getBuildEntryPoint = _: nixosSystem:
|
|
|
|
let
|
|
|
|
cfg = nixosSystem.config.microvm.declaredRunner or nixosSystem.config.system.build.toplevel;
|
|
|
|
in
|
|
|
|
if nixosSystem.config.nixpkgs.system == "aarch64-linux" then
|
|
|
|
# increase timeout for chromium
|
|
|
|
lib.recursiveUpdate cfg { meta.timeout = 24 * 60 * 60; }
|
|
|
|
else
|
|
|
|
cfg;
|
2022-12-04 20:53:20 +01:00
|
|
|
in
|
|
|
|
lib.mapAttrs getBuildEntryPoint self.nixosConfigurations
|
2022-12-19 00:16:04 +01:00
|
|
|
# // lib.mapAttrs' (hostname: nixosSystem: lib.nameValuePair
|
|
|
|
# # job display name
|
|
|
|
# (hostname + "-nox")
|
|
|
|
# (getBuildEntryPoint null (nixosSystem' (nixosSystem.args // (with nixosSystem.args; {
|
|
|
|
# modules = modules ++ [
|
|
|
|
# {
|
2023-01-02 17:37:29 +01:00
|
|
|
# # simd.enable = lib.mkForce true;
|
2022-12-19 00:16:04 +01:00
|
|
|
# environment.noXlibs = true;
|
|
|
|
# }
|
|
|
|
# ];
|
|
|
|
# # nixpkgs = nixos-unstable-simd;
|
|
|
|
# }))))
|
|
|
|
# ) self.nixosConfigurations
|
2022-12-04 07:30:23 +01:00
|
|
|
// nixos.lib.filterAttrs (name: attr:
|
2022-12-04 11:23:44 +01:00
|
|
|
(builtins.match ".+-tftproot" name != null && lib.isDerivation attr)
|
2022-05-31 22:07:32 +02:00
|
|
|
) self.packages.aarch64-linux
|
|
|
|
);
|
2021-02-22 12:31:58 +01:00
|
|
|
};
|
2020-03-25 19:52:13 +01:00
|
|
|
}
|