Silences nixpkgs' rename warnings on every eval. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
50 lines
1.3 KiB
Nix
50 lines
1.3 KiB
Nix
{ lib
|
|
, stdenvNoCC
|
|
, python3
|
|
, makeWrapper
|
|
, awww
|
|
, libnotify
|
|
, git
|
|
# Shipped theme presets, baked into the package as a fallback so
|
|
# `list`/`apply` work even when $NOMARCHY_PATH has no themes/ dir.
|
|
, themesDir ? null
|
|
}:
|
|
|
|
stdenvNoCC.mkDerivation {
|
|
pname = "nomarchy-theme-sync";
|
|
version = "0.4.0";
|
|
|
|
src = ./.;
|
|
|
|
nativeBuildInputs = [ makeWrapper ];
|
|
buildInputs = [ python3 ];
|
|
|
|
installPhase = ''
|
|
runHook preInstall
|
|
|
|
install -Dm755 nomarchy-theme-sync.py $out/bin/nomarchy-theme-sync
|
|
patchShebangs $out/bin/nomarchy-theme-sync
|
|
|
|
${lib.optionalString (themesDir != null) ''
|
|
mkdir -p $out/share/nomarchy
|
|
cp -r ${themesDir} $out/share/nomarchy/themes
|
|
''}
|
|
|
|
# Stdlib-only Python. home-manager is deliberately NOT wrapped in —
|
|
# the rebuild must use the user's own home-manager from their PATH.
|
|
wrapProgram $out/bin/nomarchy-theme-sync \
|
|
--prefix PATH : ${lib.makeBinPath [ awww libnotify git ]} \
|
|
${lib.optionalString (themesDir != null)
|
|
"--set NOMARCHY_DEFAULT_THEMES $out/share/nomarchy/themes"}
|
|
|
|
runHook postInstall
|
|
'';
|
|
|
|
meta = {
|
|
description = "Nomarchy theming: JSON state writer + Home Manager rebuild dispatcher";
|
|
license = lib.licenses.mit;
|
|
mainProgram = "nomarchy-theme-sync";
|
|
platforms = lib.platforms.linux;
|
|
};
|
|
}
|