From 26d405da4179c7dafc0a84e611edfa2f5ddf7faa Mon Sep 17 00:00:00 2001 From: Alex Hamilton <1622250+Aehmlo@users.noreply.github.com> Date: Sat, 28 Jun 2025 17:20:34 -0400 Subject: [PATCH] numbat: Add initFile option --- modules/programs/numbat.nix | 15 +++++++++++++++ tests/modules/programs/numbat/empty-config.nix | 1 + tests/modules/programs/numbat/example-config.nix | 8 ++++++++ 3 files changed, 24 insertions(+) diff --git a/modules/programs/numbat.nix b/modules/programs/numbat.nix index 0823c34e1..f3d396645 100644 --- a/modules/programs/numbat.nix +++ b/modules/programs/numbat.nix @@ -38,11 +38,26 @@ in for options. ''; }; + + initFile = lib.mkOption { + type = lib.types.nullOr lib.types.lines; + default = null; + example = '' + unit kohm: ElectricResistance = kV/A + ''; + description = '' + User initialization file ({file}`init.nbt`) contents. + ''; + }; }; config = mkIf cfg.enable { home.packages = mkIf (cfg.package != null) [ cfg.package ]; + home.file."${configDir}/init.nbt" = mkIf (cfg.initFile != null) { + text = cfg.initFile; + }; + home.file."${configDir}/config.toml" = mkIf (cfg.settings != { }) { source = tomlFormat.generate "numbat-config" cfg.settings; }; diff --git a/tests/modules/programs/numbat/empty-config.nix b/tests/modules/programs/numbat/empty-config.nix index 2fc52c2ff..9ba7dce8a 100644 --- a/tests/modules/programs/numbat/empty-config.nix +++ b/tests/modules/programs/numbat/empty-config.nix @@ -14,5 +14,6 @@ in nmt.script = '' assertPathNotExists 'home-files/${configDir}/config.toml' + assertPathNotExists 'home-files/${configDir}/init.nbt' ''; } diff --git a/tests/modules/programs/numbat/example-config.nix b/tests/modules/programs/numbat/example-config.nix index b4ec82b59..1df087c1e 100644 --- a/tests/modules/programs/numbat/example-config.nix +++ b/tests/modules/programs/numbat/example-config.nix @@ -19,6 +19,9 @@ in prompt = "> "; exchange-rates.fetching-policy = "on-first-use"; }; + initFile = '' + unit kohm: ElectricResistance = kV/A + ''; }; nmt.script = '' @@ -31,5 +34,10 @@ in [exchange-rates] fetching-policy = "on-first-use" ''} + assertFileExists 'home-files/${configDir}/init.nbt' + assertFileContent $(normalizeStorePaths 'home-files/${configDir}/init.nbt') \ + ${builtins.toFile "expected-init.nbt" '' + unit kohm: ElectricResistance = kV/A + ''} ''; }