Loading pkgs/data/themes/tokyo-night-gtk/default.nix +28 −28 Original line number Diff line number Diff line { lib , stdenvNoCC , fetchFromGitHub , callPackage , runCommand , gtk-engine-murrine , gnome-themes-extra }: stdenvNoCC.mkDerivation { pname = "tokyo-night-gtk"; version = "unstable-2023-05-30"; let prefix = "tokyo-night-gtk"; src = fetchFromGitHub { owner = "Fausto-Korpsvart"; repo = "Tokyo-Night-GTK-Theme"; rev = "e9790345a6231cd6001f1356d578883fac52233a"; hash = "sha256-Q9UnvmX+GpvqSmTwdjU4hsEsYhA887wPqs5pyqbIhmc="; }; packages = lib.mapAttrs' (type: content: { name = type; value = lib.mapAttrs' (variantName: variant: { name = variantName; value = callPackage ./generic.nix { inherit prefix type variantName variant; }; }) content; }) (lib.importJSON ./variants.json); in packages // { # Not using `symlinkJoin` because it's massively inefficient in this case full = runCommand "${prefix}_full" { preferLocalBuild = true; propagatedUserEnvPkgs = [ gtk-engine-murrine gnome-themes-extra ]; } '' mkdir -p $out/share/{icons,themes,${prefix}} dontBuild = true; installPhase = '' runHook preInstall mkdir -p $out/share/themes cp -a themes/* $out/share/themes runHook postInstall ${lib.concatStrings (lib.forEach (lib.attrValues (lib.attrsets.mergeAttrsList (lib.attrValues packages))) (variant: '' ln -s ${variant}/share/${variant.ptype}/Tokyonight-${variant.pvariant} $out/share/${variant.ptype}/Tokyonight-${variant.pvariant} ln -s ${variant}/share/${prefix}/LICENSE $out/share/${prefix}/LICENSE 2>/dev/null || true '' ))} ''; meta = with lib; { description = "A GTK theme based on the Tokyo Night colour palette."; homepage = "www.pling.com/p/1681315/"; license = licenses.gpl3Only; platforms = platforms.unix; maintainers = with lib.maintainers; [ garaiza-93 ]; }; } pkgs/data/themes/tokyo-night-gtk/generic.nix 0 → 100644 +77 −0 Original line number Diff line number Diff line { lib , stdenvNoCC , fetchFromGitHub , writeScript , gtk-engine-murrine , gnome-themes-extra , prefix ? "" , type ? "" , variantName ? "" , variant ? "" }: stdenvNoCC.mkDerivation (finalAttrs: { pname = "${prefix}_${type}-${variantName}"; version = "unstable-2023-05-30"; src = fetchFromGitHub { owner = "Fausto-Korpsvart"; repo = "Tokyo-Night-GTK-Theme"; rev = "e9790345a6231cd6001f1356d578883fac52233a"; hash = "sha256-Q9UnvmX+GpvqSmTwdjU4hsEsYhA887wPqs5pyqbIhmc="; }; propagatedUserEnvPkgs = [ gtk-engine-murrine gnome-themes-extra ]; dontPatch = true; dontConfigure = true; dontBuild = true; dontFixup = true; installPhase = '' runHook preInstall mkdir -p $out/share/{${type},${prefix}} cp -a ${type}/Tokyonight-${variant} $out/share/${type} cp -a LICENSE $out/share/${prefix} runHook postInstall ''; passthru = { updateScript = writeScript "update.sh" '' #!/usr/bin/env nix-shell #!nix-shell -i bash -p curl common-updater-scripts tree jq res="$(curl ''${GITHUB_TOKEN:+-u ":$GITHUB_TOKEN"} \ -sL "https://api.github.com/repos/${finalAttrs.src.owner}/${finalAttrs.src.repo}/commits/HEAD")" rev="$(echo $res | jq '.sha' --raw-output)" version="unstable-$(echo $res | jq '.commit | .author | .date' --raw-output | sed 's/T.*$//')" update-source-version ${prefix}-variants.${type}.${variantName} "$version" "$rev" --ignore-same-hash commonjq1='.[] .contents .[] | {(.name): .name} | walk(if type=="object" then with_entries(.key|=ascii_downcase) else . end)' commonjq2='reduce inputs as $in (.; . + $in)' commontree="-dJ -L 1 --noreport ${finalAttrs.src}" echo $(tree $commontree/icons | jq "$commonjq1" | jq "$commonjq2" | jq '{icons: .}') \ $(tree $commontree/themes | jq "$commonjq1" | jq "$commonjq2" | jq '{themes: .}') | \ jq 'reduce inputs as $in (.; . + $in)' | sed "s/[tT]okyonight-//g" > \ "$(git rev-parse --show-toplevel)/pkgs/data/themes/${prefix}/variants.json" ''; # For "full" in default.nix ptype = type; pvariant = variant; }; meta = with lib; { description = "A GTK theme based on the Tokyo Night colour palette"; homepage = "https://www.pling.com/p/1681315"; license = licenses.gpl3Only; platforms = platforms.unix; maintainers = with maintainers; [ garaiza-93 Madouura ]; }; }) pkgs/data/themes/tokyo-night-gtk/variants.json 0 → 100644 +18 −0 Original line number Diff line number Diff line { "icons": { "dark": "Dark", "dark-cyan": "Dark-Cyan", "light": "Light", "moon": "Moon" }, "themes": { "dark-b": "Dark-B", "dark-bl": "Dark-BL", "dark-b-lb": "Dark-B-LB", "dark-bl-lb": "Dark-BL-LB", "storm-b": "Storm-B", "storm-bl": "Storm-BL", "storm-b-lb": "Storm-B-LB", "storm-bl-lb": "Storm-BL-LB" } } pkgs/top-level/all-packages.nix +3 −1 Original line number Diff line number Diff line Loading @@ -35884,7 +35884,9 @@ with pkgs; tofi = callPackage ../applications/misc/tofi { }; tokyo-night-gtk = callPackage ../data/themes/tokyo-night-gtk { }; tokyo-night-gtk = tokyo-night-gtk-variants.full; tokyo-night-gtk-variants = recurseIntoAttrs (callPackage ../data/themes/tokyo-night-gtk { }); topydo = callPackage ../applications/misc/topydo { }; Loading
pkgs/data/themes/tokyo-night-gtk/default.nix +28 −28 Original line number Diff line number Diff line { lib , stdenvNoCC , fetchFromGitHub , callPackage , runCommand , gtk-engine-murrine , gnome-themes-extra }: stdenvNoCC.mkDerivation { pname = "tokyo-night-gtk"; version = "unstable-2023-05-30"; let prefix = "tokyo-night-gtk"; src = fetchFromGitHub { owner = "Fausto-Korpsvart"; repo = "Tokyo-Night-GTK-Theme"; rev = "e9790345a6231cd6001f1356d578883fac52233a"; hash = "sha256-Q9UnvmX+GpvqSmTwdjU4hsEsYhA887wPqs5pyqbIhmc="; }; packages = lib.mapAttrs' (type: content: { name = type; value = lib.mapAttrs' (variantName: variant: { name = variantName; value = callPackage ./generic.nix { inherit prefix type variantName variant; }; }) content; }) (lib.importJSON ./variants.json); in packages // { # Not using `symlinkJoin` because it's massively inefficient in this case full = runCommand "${prefix}_full" { preferLocalBuild = true; propagatedUserEnvPkgs = [ gtk-engine-murrine gnome-themes-extra ]; } '' mkdir -p $out/share/{icons,themes,${prefix}} dontBuild = true; installPhase = '' runHook preInstall mkdir -p $out/share/themes cp -a themes/* $out/share/themes runHook postInstall ${lib.concatStrings (lib.forEach (lib.attrValues (lib.attrsets.mergeAttrsList (lib.attrValues packages))) (variant: '' ln -s ${variant}/share/${variant.ptype}/Tokyonight-${variant.pvariant} $out/share/${variant.ptype}/Tokyonight-${variant.pvariant} ln -s ${variant}/share/${prefix}/LICENSE $out/share/${prefix}/LICENSE 2>/dev/null || true '' ))} ''; meta = with lib; { description = "A GTK theme based on the Tokyo Night colour palette."; homepage = "www.pling.com/p/1681315/"; license = licenses.gpl3Only; platforms = platforms.unix; maintainers = with lib.maintainers; [ garaiza-93 ]; }; }
pkgs/data/themes/tokyo-night-gtk/generic.nix 0 → 100644 +77 −0 Original line number Diff line number Diff line { lib , stdenvNoCC , fetchFromGitHub , writeScript , gtk-engine-murrine , gnome-themes-extra , prefix ? "" , type ? "" , variantName ? "" , variant ? "" }: stdenvNoCC.mkDerivation (finalAttrs: { pname = "${prefix}_${type}-${variantName}"; version = "unstable-2023-05-30"; src = fetchFromGitHub { owner = "Fausto-Korpsvart"; repo = "Tokyo-Night-GTK-Theme"; rev = "e9790345a6231cd6001f1356d578883fac52233a"; hash = "sha256-Q9UnvmX+GpvqSmTwdjU4hsEsYhA887wPqs5pyqbIhmc="; }; propagatedUserEnvPkgs = [ gtk-engine-murrine gnome-themes-extra ]; dontPatch = true; dontConfigure = true; dontBuild = true; dontFixup = true; installPhase = '' runHook preInstall mkdir -p $out/share/{${type},${prefix}} cp -a ${type}/Tokyonight-${variant} $out/share/${type} cp -a LICENSE $out/share/${prefix} runHook postInstall ''; passthru = { updateScript = writeScript "update.sh" '' #!/usr/bin/env nix-shell #!nix-shell -i bash -p curl common-updater-scripts tree jq res="$(curl ''${GITHUB_TOKEN:+-u ":$GITHUB_TOKEN"} \ -sL "https://api.github.com/repos/${finalAttrs.src.owner}/${finalAttrs.src.repo}/commits/HEAD")" rev="$(echo $res | jq '.sha' --raw-output)" version="unstable-$(echo $res | jq '.commit | .author | .date' --raw-output | sed 's/T.*$//')" update-source-version ${prefix}-variants.${type}.${variantName} "$version" "$rev" --ignore-same-hash commonjq1='.[] .contents .[] | {(.name): .name} | walk(if type=="object" then with_entries(.key|=ascii_downcase) else . end)' commonjq2='reduce inputs as $in (.; . + $in)' commontree="-dJ -L 1 --noreport ${finalAttrs.src}" echo $(tree $commontree/icons | jq "$commonjq1" | jq "$commonjq2" | jq '{icons: .}') \ $(tree $commontree/themes | jq "$commonjq1" | jq "$commonjq2" | jq '{themes: .}') | \ jq 'reduce inputs as $in (.; . + $in)' | sed "s/[tT]okyonight-//g" > \ "$(git rev-parse --show-toplevel)/pkgs/data/themes/${prefix}/variants.json" ''; # For "full" in default.nix ptype = type; pvariant = variant; }; meta = with lib; { description = "A GTK theme based on the Tokyo Night colour palette"; homepage = "https://www.pling.com/p/1681315"; license = licenses.gpl3Only; platforms = platforms.unix; maintainers = with maintainers; [ garaiza-93 Madouura ]; }; })
pkgs/data/themes/tokyo-night-gtk/variants.json 0 → 100644 +18 −0 Original line number Diff line number Diff line { "icons": { "dark": "Dark", "dark-cyan": "Dark-Cyan", "light": "Light", "moon": "Moon" }, "themes": { "dark-b": "Dark-B", "dark-bl": "Dark-BL", "dark-b-lb": "Dark-B-LB", "dark-bl-lb": "Dark-BL-LB", "storm-b": "Storm-B", "storm-bl": "Storm-BL", "storm-b-lb": "Storm-B-LB", "storm-bl-lb": "Storm-BL-LB" } }
pkgs/top-level/all-packages.nix +3 −1 Original line number Diff line number Diff line Loading @@ -35884,7 +35884,9 @@ with pkgs; tofi = callPackage ../applications/misc/tofi { }; tokyo-night-gtk = callPackage ../data/themes/tokyo-night-gtk { }; tokyo-night-gtk = tokyo-night-gtk-variants.full; tokyo-night-gtk-variants = recurseIntoAttrs (callPackage ../data/themes/tokyo-night-gtk { }); topydo = callPackage ../applications/misc/topydo { };