From 8907f2f16a4855cc7df8eb6d57e7a3abcba67542 Mon Sep 17 00:00:00 2001 From: Fern Garden Date: Sat, 12 Jul 2025 15:37:22 +0800 Subject: [PATCH] Add gruvbox theme for yazi --- helpers.nix | 1 + packages/yazi-flavour-gruvbox/default.nix | 21 +++++++++++++++++++++ suites/common.nix | 12 ++++++++++-- 3 files changed, 32 insertions(+), 2 deletions(-) create mode 100644 packages/yazi-flavour-gruvbox/default.nix diff --git a/helpers.nix b/helpers.nix index 968e8d8..50a8fda 100644 --- a/helpers.nix +++ b/helpers.nix @@ -43,6 +43,7 @@ with inputs.nixpkgs.lib; { fluffychat = (import nixpkgs-pr-fluffychat {inherit system;}).fluffychat; feishin = (import nixpkgs-pr-feishin {inherit system;}).feishin; webone = pkgs.callPackage ./packages/webone {}; + yazi-flavour-gruvbox-dark = pkgs.callPackage ./packages/yazi-flavour-gruvbox {}; }; in { diff --git a/packages/yazi-flavour-gruvbox/default.nix b/packages/yazi-flavour-gruvbox/default.nix new file mode 100644 index 0000000..ba82d3c --- /dev/null +++ b/packages/yazi-flavour-gruvbox/default.nix @@ -0,0 +1,21 @@ +{ + pkgs, + fetchFromGitHub, +}: let + flavor = "gruvbox-dark"; +in + pkgs.stdenv.mkDerivation { + pname = "yazi-flavor-${flavor}"; + version = "2025.04.24"; + src = fetchFromGitHub { + owner = "bennyyip"; + repo = "${flavor}.yazi"; + rev = "91fdfa70f6d593934e62aba1e449f4ec3d3ccc90"; + hash = "sha256-RWqyAdETD/EkDVGcnBPiMcw1mSd78Aayky9yoxSsry4="; + }; + + installPhase = '' + mkdir -p $out + cp $src/* $out/ + ''; + } diff --git a/suites/common.nix b/suites/common.nix index 7d7b769..79585bd 100644 --- a/suites/common.nix +++ b/suites/common.nix @@ -1,5 +1,6 @@ { nixpkgs, + userPackages, pkgs, lib, hostname, @@ -70,7 +71,7 @@ with lib; { enable = true; interactiveShellInit = '' # set gruvbox theme - theme_gruvbox + theme_gruvbox dark hard # yazi cd on quit. function y @@ -217,6 +218,14 @@ with lib; { }; }; + programs.yazi = { + enable = true; + flavors."gruvbox-dark.yazi" = userPackages.yazi-flavour-gruvbox-dark; + settings.theme = { + flavor.dark = "gruvbox-dark"; + }; + }; + environment.systemPackages = with pkgs; [ aria2 btop @@ -226,7 +235,6 @@ with lib; { rsync tmux trash-cli - yazi ]; # Enable avahi hostname resolution.