From 1573a18d5c31828948f316a8f877c6ae0c15ddd1 Mon Sep 17 00:00:00 2001 From: kurogeek Date: Thu, 9 Oct 2025 17:22:20 +0700 Subject: [PATCH] mob next [ci-skip] [ci skip] [skip ci] lastFile:modules/nixos/inventree/default.nix --- machines/rigel/configuration.nix | 7 +++++++ modules/nixos/inventree/default.nix | 16 ++++++++++++++++ 2 files changed, 23 insertions(+) diff --git a/machines/rigel/configuration.nix b/machines/rigel/configuration.nix index 0848373..ae5192e 100644 --- a/machines/rigel/configuration.nix +++ b/machines/rigel/configuration.nix @@ -32,11 +32,17 @@ group = "inventree"; secret = true; }; + admin-password = { + owner = "inventree"; + group = "inventree"; + secret = true; + }; }; runtimeInputs = [ pkgs.pwgen ]; script = '' pwgen -s 32 1 > $out/secret-key pwgen -s 32 1 > $out/oidc-key + pwgen -s 32 1 > $out/admin-password ''; }; @@ -48,6 +54,7 @@ config.site_url = "http://${config.services.inventree.hostName}"; secretKeyFile = config.clan.core.vars.generators.inventree.files.secret-key.path; config.oidc_private_key_file = config.clan.core.vars.generators.inventree.files.oidc-key.path; + config.adminPasswordFile = config.clan.vars.generators.inventree.files.admin-password.path; }; system.stateVersion = "25.11"; diff --git a/modules/nixos/inventree/default.nix b/modules/nixos/inventree/default.nix index 160fea9..02c86c0 100644 --- a/modules/nixos/inventree/default.nix +++ b/modules/nixos/inventree/default.nix @@ -66,6 +66,14 @@ in type = types.submodule ({ freeformType = configFormat.type; options = { + adminUser = mkOption { + type = types.str; + default = "admin"; + }; + adminPasswordFile = mkOption { + type = types.path; + description = "Path to password file for user `admin`"; + }; site_url = mkOption { type = types.str; default = "https://${cfg.hostName}"; @@ -238,6 +246,8 @@ in INVENTREE_DB_NAME = cfg.config.database.NAME; INVENTREE_DB_HOST = cfg.config.database.HOST; INVENTREE_DB_USER = "inventree"; + INVENTREE_ADMIN_USER = cfg.config.adminUser; + INVENTREE_ADMIN_PASSWORD_FILE = cfg.config.adminPasswordFile; INVENTREE_SITE_URL = cfg.config.site_url; @@ -273,6 +283,8 @@ in INVENTREE_DB_NAME = cfg.config.database.NAME; INVENTREE_DB_HOST = cfg.config.database.HOST; INVENTREE_DB_USER = "inventree"; + INVENTREE_ADMIN_USER = cfg.config.adminUser; + INVENTREE_ADMIN_PASSWORD_FILE = cfg.config.adminPasswordFile; INVENTREE_SITE_URL = cfg.config.site_url; PYTHONPATH = pkg.pythonPath; @@ -308,6 +320,8 @@ in INVENTREE_DB_NAME = cfg.config.database.NAME; INVENTREE_DB_HOST = cfg.config.database.HOST; INVENTREE_DB_USER = "inventree"; + INVENTREE_ADMIN_USER = cfg.config.adminUser; + INVENTREE_ADMIN_PASSWORD_FILE = cfg.config.adminPasswordFile; INVENTREE_SITE_URL = cfg.config.site_url; PYTHONPATH = pkg.pythonPath; @@ -350,6 +364,8 @@ in INVENTREE_DB_NAME = cfg.config.database.NAME; INVENTREE_DB_HOST = cfg.config.database.HOST; INVENTREE_DB_USER = "inventree"; + INVENTREE_ADMIN_USER = cfg.config.adminUser; + INVENTREE_ADMIN_PASSWORD_FILE = cfg.config.adminPasswordFile; INVENTREE_SITE_URL = cfg.config.site_url; PYTHONPATH = pkg.pythonPath;