feat(extranix): Add theme option and update
All checks were successful
Build all the nodes / geo02 (push) Successful in 59s
Build all the nodes / geo01 (push) Successful in 1m0s
Build all the nodes / hypervisor02 (push) Successful in 1m0s
Build all the nodes / hypervisor01 (push) Successful in 1m0s
Build all the nodes / netaccess01 (push) Successful in 19s
Build all the nodes / netcore00 (push) Successful in 19s
Build all the nodes / netcore02 (push) Successful in 20s
Build all the nodes / netcore01 (push) Successful in 20s
Build all the nodes / ap01 (push) Successful in 1m24s
Build all the nodes / bridge01 (push) Successful in 2m5s
Build all the nodes / build01 (push) Successful in 2m5s
Build all the nodes / hypervisor03 (push) Successful in 2m5s
Build all the nodes / cof02 (push) Successful in 2m12s
Build all the nodes / storage01 (push) Successful in 58s
Build all the nodes / tower01 (push) Successful in 56s
Build all the nodes / rescue01 (push) Successful in 1m0s
Build the shell / build-shell (push) Successful in 44s
Run pre-commit on all files / pre-commit (push) Successful in 46s
Build all the nodes / compute01 (push) Successful in 3m10s
Build all the nodes / web01 (push) Successful in 2m3s
Build all the nodes / web02 (push) Successful in 1m29s
Build all the nodes / web03 (push) Successful in 1m35s
Build all the nodes / vault01 (push) Successful in 1m0s

This commit is contained in:
Tom Hubrecht 2025-04-17 11:12:21 +02:00
parent 01d72bfa13
commit 6d81001b85
Signed by: thubrecht
SSH key fingerprint: SHA256:r+nK/SIcWlJ0zFZJGHtlAoRwq1Rm+WcKAm5ADYMoQPc
2 changed files with 24 additions and 18 deletions

View file

@ -4,6 +4,7 @@
{ {
lib, lib,
pkgs,
meta, meta,
bootstrap, bootstrap,
sources, sources,
@ -20,8 +21,18 @@ in
enableACME = true; enableACME = true;
forceSSL = true; forceSSL = true;
}; };
extranix = { extranix = {
enable = true; enable = true;
theme = pkgs.fetchFromGitea {
domain = "git.dgnum.eu";
owner = "DGNum";
repo = "extranix-theme";
rev = "99e14ca818fb1f664a2221e1cc8394325426b446";
hash = "sha256-mDa03Y3Lf/piBzxTyiNj/8OI2rYEW5Pn99lXVL9EQmg=";
};
modules = { modules = {
"netconf" = { "netconf" = {
paths = mkImports bootstrap.root [ paths = mkImports bootstrap.root [
@ -95,6 +106,7 @@ in
languageCode = "en-us"; languageCode = "en-us";
params = { params = {
logo = "images/dgnum.png"; logo = "images/dgnum.png";
release_switch_title = "Category";
footer_credits_line = '' footer_credits_line = ''
Based on <a href="https://github.com/mipmip/home-manager-option-search">Home Manager Option Search</a> Based on <a href="https://github.com/mipmip/home-manager-option-search">Home Manager Option Search</a>
''; '';
@ -103,7 +115,7 @@ in
''; '';
main_menu = [ main_menu = [
{ {
name = ''<img src="images/forgejo.png" style="display:inline-block; height:2.5em; transform:translate(0, -0.7em)" /> Source''; name = ''<img src="images/forgejo.png" /> Source'';
url = "https://git.dgnum.eu/DGNum/infrastructure/"; url = "https://git.dgnum.eu/DGNum/infrastructure/";
} }
]; ];

View file

@ -52,13 +52,6 @@ let
str str
; ;
inherit (pkgs)
fetchFromGitea
hugo
runCommand
symlinkJoin
;
mkDocJSON = mkDocJSON =
module: module:
{ {
@ -177,22 +170,16 @@ let
''; '';
website = website =
runCommand "search-infra" pkgs.runCommand "search-infra"
{ {
theme = fetchFromGitea { inherit (cfg) theme;
domain = "git.dgnum.eu";
owner = "DGNum";
repo = "options-search-theme";
rev = "bcdc3e724ad5478ed39ce62a6e3342130a1bcabd";
hash = "sha256-pg0NifmHdfK4OltSOQfYgTVa7juZlGF642Q4Du3uheY=";
};
nativeBuildInputs = [ hugo ]; nativeBuildInputs = [ pkgs.hugo ];
config = builtins.toJSON cfg.settings; config = builtins.toJSON cfg.settings;
passAsFile = [ "config" ]; passAsFile = [ "config" ];
data = symlinkJoin { data = pkgs.symlinkJoin {
name = "options-data"; name = "options-data";
paths = mapAttrsToList mkDocJSON cfg.modules; paths = mapAttrsToList mkDocJSON cfg.modules;
}; };
@ -216,6 +203,13 @@ in
options.services.extranix = { options.services.extranix = {
enable = mkEnableOption "extranix documentation"; enable = mkEnableOption "extranix documentation";
theme = mkOption {
type = path;
description = ''
Path to a hugo theme for the search website.
'';
};
modules = mkOption { modules = mkOption {
type = attrsOf (submodule { type = attrsOf (submodule {
options = { options = {