1
0
Fork 0
mirror of https://github.com/nix-community/home-manager.git synced 2025-11-08 19:46:05 +01:00

numbat: Allow specifying a path for initFile

This commit is contained in:
Alex Hamilton 2025-06-28 17:49:22 -04:00 committed by Austin Horstman
parent 26d405da41
commit f117b383dd
4 changed files with 33 additions and 3 deletions

View file

@ -40,13 +40,14 @@ in
}; };
initFile = lib.mkOption { initFile = lib.mkOption {
type = lib.types.nullOr lib.types.lines; type = lib.types.nullOr (lib.types.either lib.types.lines lib.types.path);
default = null; default = null;
example = '' example = ''
unit kohm: ElectricResistance = kV/A unit kohm: ElectricResistance = kV/A
''; '';
description = '' description = ''
User initialization file ({file}`init.nbt`) contents. User initialization file ({file}`init.nbt`) contents. May be specified
inline or as a path to a source file.
''; '';
}; };
}; };
@ -55,7 +56,7 @@ in
home.packages = mkIf (cfg.package != null) [ cfg.package ]; home.packages = mkIf (cfg.package != null) [ cfg.package ];
home.file."${configDir}/init.nbt" = mkIf (cfg.initFile != null) { home.file."${configDir}/init.nbt" = mkIf (cfg.initFile != null) {
text = cfg.initFile; source = if lib.isString cfg.initFile then pkgs.writeText "init.nbt" cfg.initFile else cfg.initFile;
}; };
home.file."${configDir}/config.toml" = mkIf (cfg.settings != { }) { home.file."${configDir}/config.toml" = mkIf (cfg.settings != { }) {

View file

@ -1,4 +1,5 @@
{ {
numbat-example-config = ./example-config.nix; numbat-example-config = ./example-config.nix;
numbat-empty-config = ./empty-config.nix; numbat-empty-config = ./empty-config.nix;
numbat-external-initfile = ./external-initfile.nix;
} }

View file

@ -0,0 +1,27 @@
{
config,
pkgs,
...
}:
let
configDir =
if pkgs.stdenv.hostPlatform.isDarwin then
"Library/Application Support/numbat"
else
".config/numbat";
in
{
programs.numbat = {
enable = true;
package = config.lib.test.mkStubPackage { };
initFile = ./init.nbt;
};
nmt.script = ''
assertFileExists 'home-files/${configDir}/init.nbt'
assertFileContent $(normalizeStorePaths 'home-files/${configDir}/init.nbt') \
${builtins.toFile "expected-init.nbt" ''
unit kohm: ElectricResistance = kV/A
''}
'';
}

View file

@ -0,0 +1 @@
unit kohm: ElectricResistance = kV/A