fix: resolve evaluation purity, missing packages, and brittle paths

This commit is contained in:
Bernardo Magri
2026-04-13 19:50:09 +01:00
parent cabc668c77
commit d9c35f5ff6
13 changed files with 176 additions and 192 deletions

View File

@@ -16,10 +16,6 @@
let
configDir = ./config;
overridesDir = "${config.home.homeDirectory}/.config/nomarchy/overrides";
# Check if user has an override for a specific config
hasOverride = path: builtins.pathExists "${overridesDir}/${path}";
# Behavior config categories with their source paths
behaviorConfigs = {

View File

@@ -37,13 +37,11 @@ let
# Check for user overrides
userConfigDir = config.nomarchy.configOverrides;
hasUserOverrides = userConfigDir != null && builtins.pathExists userConfigDir;
# Generate the xdg.configFile attribute set
makeMapping = name: type:
let
hasUserOverride = hasUserOverrides && builtins.pathExists "${userConfigDir}/${name}";
source = if hasUserOverride then "${userConfigDir}/${name}" else "${configDir}/${name}";
source = if userConfigDir != null then "${userConfigDir}/${name}" else "${configDir}/${name}";
in {
inherit name;
value = lib.mkDefault {

View File

@@ -20,14 +20,9 @@
let
overridesDir = "${config.home.homeDirectory}/.config/nomarchy/overrides";
# Check if a specific override exists
hasOverride = path: builtins.pathExists "${overridesDir}/${path}";
# Get override source if it exists, otherwise use default
# Helper to get override from options
getOverrideOrDefault = { path, default }:
if hasOverride path
then "${overridesDir}/${path}"
else default;
config.nomarchy.overrides.paths.${path} or default;
in
{