refactor(dotfiles): centralize Nix file names

This commit was merged in pull request #107.
This commit is contained in:
2026-09-27 09:39:10 -04:00
parent 3b2d16743e
commit 43b3ff4b09
4 changed files with 15 additions and 5 deletions

View File

@@ -1,6 +1,5 @@
{
inputs,
lib,
root,
specialArgs,
repositoryModules,
@@ -276,7 +275,7 @@ let
};
};
names = map (path: lib.removeSuffix ".nix" (builtins.baseNameOf path)) files;
names = map util.removeNixSuffix files;
in
{
imports = files ++ map mkGuest names;

View File

@@ -6,13 +6,11 @@
}:
let
definitions = lib.listToAttrs (
map (path: lib.nameValuePair (registryName (builtins.baseNameOf path)) (mkRegistry path)) (
map (path: lib.nameValuePair (util.removeNixSuffix path) (mkRegistry path)) (
util.collectNixFiles root
)
);
registryName = fileName: lib.removeSuffix ".nix" fileName;
mkRegistry =
path:
let

View File

@@ -20,6 +20,8 @@ in
{
inherit collectNixFiles;
removeNixSuffix = path: lib.removeSuffix ".nix" (builtins.baseNameOf path);
bridgeName = id: "br-vlan${toString id}";
deriveMac =

View File

@@ -10,3 +10,14 @@ Pass `util` to Nix functions that need the helper.
`util.collectNixFiles` centralizes recursive discovery of Nix files.
Repository Nix code uses one implementation.
## Remove Nix file suffixes with the utility
### Rule
Use `util.removeNixSuffix` to remove a `.nix` suffix from a path.
Do not call `builtins.baseNameOf` or `lib.removeSuffix ".nix"` outside the utility definition.
### Rationale
The utility centralizes Nix file-name normalization.