refactor: consolidate app configurations and utility scripts
- Move 32+ app-specific scripts from features/apps/scripts/ to features/scripts/utils/ for centralized packaging. - Create individual Nix modules for orphaned app configurations (btop, kitty, tmux, etc.) in features/apps/ using xdg.configFile. - Fix broken paths in core/system/makima.nix and features/apps/vscode.nix. - Update VSCode configuration to use the modern 'profiles.default.userSettings' API, resolving deprecation warnings. - Merge duplicate 'nomarchy-launch-walker' scripts into a single robust utility. - Remove stale root 'config/' directory. - Update README.md and docs/creating-themes.md to reflect the new architecture and keybindings. - Ensure all modules are correctly imported and verified via nix flake check.
This commit is contained in:
@@ -5,9 +5,16 @@ let
|
||||
themePath = ../palettes + "/${config.nomarchy.theme}";
|
||||
themeAppsPath = themePath + "/apps";
|
||||
nordAppsPath = ../../features/desktop/hyprland/themes/nord;
|
||||
hyprlandThemePath = ../../features/desktop/hyprland/themes + "/${config.nomarchy.theme}";
|
||||
|
||||
# Check if theme has apps/hyprland.conf
|
||||
# Check if theme has hyprland.conf in palette apps/ or feature themes/
|
||||
hasHyprlandConf = builtins.pathExists (themeAppsPath + "/hyprland.conf");
|
||||
hasHyprlandFeatureConf = builtins.pathExists (hyprlandThemePath + "/hyprland.conf");
|
||||
|
||||
hyprlandConfSource =
|
||||
if hasHyprlandConf then themeAppsPath + "/hyprland.conf"
|
||||
else if hasHyprlandFeatureConf then hyprlandThemePath + "/hyprland.conf"
|
||||
else nordAppsPath + "/hyprland.conf";
|
||||
|
||||
# Get palette for dynamic CSS generation
|
||||
palette = nomarchyLib.getPalette config.nomarchy.theme;
|
||||
@@ -26,18 +33,16 @@ in
|
||||
@define-color accent #${palette.base0D};
|
||||
'';
|
||||
|
||||
# Ensure theme-specific hyprland config exists, fallback to nord if not
|
||||
# Now checking in apps/ subdirectory
|
||||
# Ensure theme-specific hyprland config exists
|
||||
# Lookup priority: palette apps/ > feature themes/ > nord fallback
|
||||
xdg.configFile."nomarchy/current/theme/apps/hyprland.conf" = lib.mkIf (!hasHyprlandConf) {
|
||||
source = nordAppsPath + "/hyprland.conf";
|
||||
source = if hasHyprlandFeatureConf then hyprlandThemePath + "/hyprland.conf"
|
||||
else nordAppsPath + "/hyprland.conf";
|
||||
};
|
||||
|
||||
# Legacy compatibility: symlink apps/hyprland.conf to root for scripts expecting old path
|
||||
xdg.configFile."nomarchy/current/theme/hyprland.conf" = {
|
||||
source =
|
||||
if hasHyprlandConf
|
||||
then themeAppsPath + "/hyprland.conf"
|
||||
else nordAppsPath + "/hyprland.conf";
|
||||
source = hyprlandConfSource;
|
||||
};
|
||||
|
||||
xdg.configFile."nomarchy/current/theme.name".text = config.nomarchy.theme;
|
||||
|
||||
|
Before Width: | Height: | Size: 3.6 MiB After Width: | Height: | Size: 3.6 MiB |
|
Before Width: | Height: | Size: 4.8 MiB After Width: | Height: | Size: 4.8 MiB |
Reference in New Issue
Block a user