Compare commits

...

2 commits

Author SHA1 Message Date
sinavir
22fb460650 feat(netbox): Add qr-codes
All checks were successful
build configuration / build_vault01 (push) Successful in 2m21s
build configuration / build_rescue01 (push) Successful in 2m19s
build configuration / build_web02 (push) Successful in 2m23s
build configuration / build_compute01 (push) Successful in 2m33s
build configuration / build_storage01 (push) Successful in 2m38s
lint / check (push) Successful in 24s
build configuration / build_web01 (push) Successful in 3m17s
2024-04-03 19:31:46 +02:00
sinavir
39d1d2999b feat(hive): Add function to instantiate patched nixpkgs in specialArgs 2024-04-03 19:21:40 +02:00
3 changed files with 38 additions and 11 deletions

View file

@ -16,21 +16,23 @@ let
];
};
mkNixpkgs =
node:
patch.mkNixpkgsSrc rec {
mkPatchedNixpkgs =
version:
patch.mkNixpkgsSrc {
src = sources.${version};
version = "nixos-${nodes'.${node}.nixpkgs or (import ./meta/nixpkgs.nix)}";
inherit version;
};
mkNixpkgs' = node: import (mkNixpkgs node) { };
mkNixpkgs = version: import (mkPatchedNixpkgs version) { };
mkNixpkgsVersion = node: "nixos-${nodes'.${node}.nixpkgs or (import ./meta/nixpkgs.nix)}";
###
# Function to create arguments based on the node
#
mkArgs = node: rec {
lib = import sources.nix-lib {
inherit (mkNixpkgs' node) lib;
inherit (mkNixpkgs (mkNixpkgsVersion node)) lib;
keysRoot = ./keys;
};
@ -41,10 +43,11 @@ in
# nodes = builtins.attrNames metadata.nodes;
{
meta = {
nodeNixpkgs = lib.mapSingleFuse mkNixpkgs' nodes;
nodeNixpkgs = lib.mapSingleFuse (n: mkNixpkgs (mkNixpkgsVersion n)) nodes;
specialArgs = {
inherit sources;
inherit mkNixpkgs;
};
nodeSpecialArgs = lib.mapSingleFuse mkArgs nodes;
@ -63,7 +66,7 @@ in
inherit (meta.nodes.${name}) deployment;
# Set NIX_PATH to the patched version of nixpkgs
nix.nixPath = [ "nixpkgs=${mkNixpkgs name}" ];
nix.nixPath = [ "nixpkgs=${mkPatchedNixpkgs (mkNixpkgsVersion name)}" ];
nix.optimise.automatic = true;
# Allow unfree packages

View file

@ -1,7 +1,7 @@
{
config,
sources,
lib,
mkNixpkgs,
...
}:
@ -13,12 +13,20 @@ in
services = {
netbox = {
enable = true;
package = (import sources.nixos-unstable { }).pkgs.netbox_3_7;
package = (mkNixpkgs "nixos-unstable").netbox_3_7;
secretKeyFile = "/dev/null";
listenAddress = "127.0.0.1";
plugins = p: [ p.netbox-qrcode ];
settings = {
ALLOWED_HOSTS = [ "netbox.dgnum.eu" ];
REMOTE_AUTH_BACKEND = "social_core.backends.open_id_connect.OpenIdConnectAuth";
PLUGINS = [ "netbox_qrcode" ];
PLUGINS_CONFIG = {
netbox_qrcode = {
custom_text = "DGNum. contact@dgnum.eu";
text_location = "down";
};
};
};
extraConfig = lib.mkForce ''

View file

@ -16,6 +16,13 @@ in
hash = "sha256-mjeRxtZozgLNzHkCxcTs3xnonNPkmPoaGxawixC9jfo=";
}
# netbox qrcode plugin
{
_type = "commit";
sha = "ae4bf4c110378ebacb3989c9533726859cfebbfa";
hash = "sha256-SgHhW9HCkDQsxT3eG4P9q68c43e3sbDHRY9qs7oSt8o=";
}
netboxAgent
# missing jsonargparse deps for netbox-agent
@ -144,5 +151,14 @@ in
hash = "sha256-XVq72jiLCDrZhADgyvI5y1y/5zlpX89vUBvxUolrYp8=";
}
];
"nixos-unstable" = [ netboxAgent ];
"nixos-unstable" = [
netboxAgent
# netbox qrcode plugin
{
_type = "commit";
sha = "ae4bf4c110378ebacb3989c9533726859cfebbfa";
hash = "sha256-SgHhW9HCkDQsxT3eG4P9q68c43e3sbDHRY9qs7oSt8o=";
}
];
}