- Update lib/state-schema.nix to default both home and system themes to 'summer-night'.
- Fix 'nomarchy-theme-list' and 'nomarchy-theme-set-templates' to resolve themes and templates from '~/.local/share/nomarchy' instead of the obsolete '$NOMARCHY_PATH' (fixing failures on Live ISO).
- Update 'nomarchy-welcome' to properly convert Title Case theme display names back to kebab-case identifiers and add input validation to prevent crashes.
- Fix installer impermanence symlink by using a relative path ('../persist/etc/nixos'), ensuring it resolves during 'nixos-install' both inside and outside the chroot.
- Deploy '~/.XCompose' symlink via Home Manager and add 'nomarchy-restart-xcompose' to the menu.
- Relocate 'Nomarchy.ttf' to 'core/branding/' and move user-level scripts ('pkg-add', 'pkg-remove', 'env-update', 'preflight-migration') to 'features/scripts/utils/' to align with the distro architecture.
- Remove obsolete '$NOMARCHY_PATH' exports and redundant 'bashrc' template.
- Export theme templates via 'xdg.dataFile' for script accessibility.
60 lines
1.5 KiB
Nix
60 lines
1.5 KiB
Nix
{ config, pkgs, lib, ... }:
|
|
|
|
let
|
|
configDir = ./config;
|
|
|
|
# Explicit list of config items to manage
|
|
# This replaces dynamic builtins.readDir for clarity and faster evaluation
|
|
configItems = {
|
|
# Directories
|
|
fastfetch = "directory";
|
|
fcitx5 = "directory";
|
|
fontconfig = "directory";
|
|
git = "directory";
|
|
imv = "directory";
|
|
"nautilus-python" = "directory";
|
|
nomarchy = "directory";
|
|
"nomarchy-skill" = "directory";
|
|
uwsm = "directory";
|
|
wiremix = "directory";
|
|
|
|
# Files
|
|
"brave-flags.conf" = "regular";
|
|
"chromium-flags.conf" = "regular";
|
|
"starship.toml" = "regular";
|
|
"xdg-terminals.list" = "regular";
|
|
};
|
|
|
|
# Files/directories handled elsewhere or not intended for ~/.config/
|
|
# - nomarchy.ttf: font file, not a config
|
|
# - waybar: handled in waybar.nix
|
|
# - walker: handled in walker.nix
|
|
# - alacritty: handled in alacritty.nix
|
|
# - swayosd: handled in swayosd.nix
|
|
|
|
# Check for user overrides
|
|
userConfigDir = config.nomarchy.configOverrides;
|
|
|
|
# Generate the xdg.configFile attribute set
|
|
makeMapping = name: type:
|
|
let
|
|
source = if userConfigDir != null then "${userConfigDir}/${name}" else "${configDir}/${name}";
|
|
in {
|
|
inherit name;
|
|
value = lib.mkDefault {
|
|
inherit source;
|
|
recursive = type == "directory";
|
|
};
|
|
};
|
|
|
|
configMappings = lib.mapAttrs' (name: type: makeMapping name type) configItems;
|
|
|
|
in
|
|
{
|
|
xdg.configFile = configMappings;
|
|
|
|
home.file.".XCompose" = lib.mkDefault {
|
|
source = ./config/nomarchy/default/xcompose;
|
|
};
|
|
}
|