feat: full nix-topology

This commit is contained in:
Leon Schwarzäugl 2025-06-16 00:21:41 +02:00
parent ed15ef02bb
commit c7132d2d85
Signed by: swarsel
GPG key ID: 26A54C31F2A4FD84
38 changed files with 2464 additions and 807 deletions

View file

@ -1,12 +1,16 @@
{ lib, ... }:
{
options.node.secretsDir = lib.mkOption {
description = "Path to the secrets directory for this node.";
type = lib.types.path;
default = ./.;
};
options.node.name = lib.mkOption {
description = "Node Name.";
type = lib.types.str;
options = {
node = {
secretsDir = lib.mkOption {
description = "Path to the secrets directory for this node.";
type = lib.types.path;
default = ./.;
};
name = lib.mkOption {
description = "Node Name.";
type = lib.types.str;
};
};
};
}

View file

@ -72,6 +72,8 @@
zls
ansible-language-server
elk-to-svg
];
nixpkgs.config.permittedInsecurePackages = [

View file

@ -0,0 +1,14 @@
{ self, lib, config, ... }:
{
options.swarselsystems.info = lib.mkOption {
type = lib.types.str;
default = "";
};
config.topology = {
id = config.node.name;
self = {
hardware.info = config.swarselsystems.info;
icon = lib.mkIf config.swarselsystems.isLaptop "devices.laptop";
};
};
}