- 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.
52 lines
930 B
Nix
52 lines
930 B
Nix
{ config, pkgs, lib, ... }:
|
|
|
|
let
|
|
nomarchyLib = import ../../lib { inherit lib; };
|
|
|
|
# Dependencies for theme engine scripts
|
|
themeDeps = with pkgs; [
|
|
coreutils
|
|
gnused
|
|
gnugrep
|
|
findutils
|
|
gawk
|
|
jq
|
|
swww
|
|
libnotify
|
|
gum
|
|
brightnessctl
|
|
playerctl
|
|
pamixer
|
|
bc
|
|
];
|
|
|
|
nomarchy-theme-engine-scripts = pkgs.stdenv.mkDerivation {
|
|
pname = "nomarchy-theme-engine-scripts";
|
|
version = "1.0.0";
|
|
src = ./scripts;
|
|
|
|
nativeBuildInputs = [ pkgs.makeWrapper ];
|
|
|
|
installPhase = ''
|
|
mkdir -p $out/bin
|
|
cp * $out/bin/
|
|
|
|
chmod +x $out/bin/*
|
|
patchShebangs $out/bin
|
|
'';
|
|
|
|
postFixup = ''
|
|
deps="${lib.makeBinPath themeDeps}"
|
|
for file in $out/bin/*; do
|
|
if [ -f "$file" ]; then
|
|
wrapProgram "$file" \
|
|
--prefix PATH : "$deps"
|
|
fi
|
|
done
|
|
'';
|
|
};
|
|
in
|
|
{
|
|
home.packages = [ nomarchy-theme-engine-scripts ];
|
|
}
|