42 lines
1.6 KiB
Nix
42 lines
1.6 KiB
Nix
{ config, lib, ... }:
|
|
|
|
{
|
|
xdg.configFile."nomarchy/current/theme" = {
|
|
source = ../../assets/themes/${config.nomarchy.theme};
|
|
recursive = true;
|
|
};
|
|
|
|
# Ensure theme-specific hyprland config exists, fallback to nord if not
|
|
xdg.configFile."nomarchy/current/theme/hyprland.conf" = lib.mkIf (! builtins.pathExists (../../assets/themes + "/${config.nomarchy.theme}/hyprland.conf")) {
|
|
source = ../../assets/themes/nord/hyprland.conf;
|
|
};
|
|
|
|
xdg.configFile."nomarchy/current/theme.name".text = config.nomarchy.theme;
|
|
|
|
# Expose branding assets
|
|
xdg.configFile."nomarchy/branding/logo.png".source = ../../assets/branding/logo.png;
|
|
xdg.configFile."nomarchy/branding/logo.txt".source = ../../assets/branding/logo.txt;
|
|
xdg.configFile."nomarchy/branding/logo.svg".source = ../../assets/branding/logo.svg;
|
|
xdg.configFile."nomarchy/branding/icon.png".source = ../../assets/branding/icon.png;
|
|
xdg.configFile."nomarchy/branding/icon.txt".source = ../../assets/branding/icon.txt;
|
|
|
|
# Expose all themes to the system via local share for script accessibility
|
|
# We filter out images to prevent Nix Store bloat
|
|
xdg.dataFile."nomarchy/themes".source = builtins.path {
|
|
name = "nomarchy-themes-no-images";
|
|
path = ../../assets/themes;
|
|
filter = path: type:
|
|
let
|
|
baseName = baseNameOf path;
|
|
in
|
|
! (type == "regular" && (
|
|
lib.hasSuffix ".jpg" baseName ||
|
|
lib.hasSuffix ".png" baseName ||
|
|
lib.hasSuffix ".jpeg" baseName
|
|
));
|
|
};
|
|
|
|
# Nautilus python extensions
|
|
xdg.dataFile."nautilus-python/extensions/localsend.py".source = ../../assets/nautilus-python/extensions/localsend.py;
|
|
}
|