mob next [ci-skip] [ci skip] [skip ci]
lastFile:modules/clan/gw-router/default.nix
This commit is contained in:
@@ -0,0 +1,26 @@
|
||||
{
|
||||
inputs,
|
||||
...
|
||||
}:
|
||||
{
|
||||
imports =
|
||||
let
|
||||
# Get all subdirectories in the current directory
|
||||
dirContents = builtins.readDir ./.;
|
||||
|
||||
# Filter to include only directories that have a flake-module.nix file
|
||||
# and exclude special directories like 'result'
|
||||
validModuleDirs = builtins.filter (
|
||||
name:
|
||||
name != "result"
|
||||
&& dirContents.${name} == "directory"
|
||||
&& builtins.pathExists (./. + "/${name}/flake-module.nix")
|
||||
) (builtins.attrNames dirContents);
|
||||
|
||||
# Create import paths for each valid directory
|
||||
imports = (map (name: ./. + "/${name}/flake-module.nix") validModuleDirs) ++ [
|
||||
inputs.clan-core.flakeModules.testModule
|
||||
];
|
||||
in
|
||||
imports;
|
||||
}
|
||||
@@ -0,0 +1,37 @@
|
||||
{ ... }:
|
||||
{
|
||||
_class = "clan.service";
|
||||
manifest.name = "gw-router";
|
||||
manifest.description = "A gateway router service to configure most of a router features";
|
||||
manifest.readme = "A gateway router service to configure most of a router features";
|
||||
manifest.categories = [ "System" ];
|
||||
|
||||
roles.default = {
|
||||
description = "A router role for managing a node as a router";
|
||||
|
||||
interface =
|
||||
{ lib, config, ... }:
|
||||
{
|
||||
options = {
|
||||
|
||||
};
|
||||
};
|
||||
|
||||
perInstance =
|
||||
{ settings, ... }:
|
||||
{
|
||||
nixosModule =
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
let
|
||||
in
|
||||
{
|
||||
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
{ self, inputs, ... }:
|
||||
let
|
||||
module = ./default.nix;
|
||||
in
|
||||
{
|
||||
clan.modules = {
|
||||
gw-router = module;
|
||||
};
|
||||
# perSystem =
|
||||
# { ... }:
|
||||
# {
|
||||
# clan.nixosTests.service-headplane = {
|
||||
# imports = [ ./tests/vm/default.nix ];
|
||||
# _module.args = { inherit self inputs; };
|
||||
#
|
||||
# clan.modules."@clan/headplane" = module;
|
||||
# };
|
||||
# };
|
||||
}
|
||||
Reference in New Issue
Block a user