From fd3b5d5a413826a47775d9e23e34dcc15d62ac74 Mon Sep 17 00:00:00 2001 From: Ryan Cao <70191398+ryanccn@users.noreply.github.com> Date: Sat, 9 Sep 2023 21:48:00 +0800 Subject: [PATCH] feat: add glamour --- flake.lock | 24 +++++++++---------- home/default.nix | 1 + home/programs/glamour.nix | 9 +++++++ modules/nix.nix | 1 + overlays/ctp-glamour.nix | 49 +++++++++++++++++++++++++++++++++++++++ overlays/default.nix | 1 + 6 files changed, 73 insertions(+), 12 deletions(-) create mode 100644 home/programs/glamour.nix create mode 100644 overlays/ctp-glamour.nix diff --git a/flake.lock b/flake.lock index 00cc729..3e85ed5 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1694175156, - "narHash": "sha256-g1kdQe9TFwyLFOXyv0uTbRvbyFDV9mJElq+q5maxL4U=", + "lastModified": 1694256509, + "narHash": "sha256-o7m9jxFDF87Hon0ilkvLFKl6yIzRTUyb+ClY2CWpi4I=", "owner": "ryanccn", "repo": "am", - "rev": "450a26baf7fa5ee138b709f412b50e532adf19e0", + "rev": "6c19bb79636388149f66d89561b354d7e23ad2c1", "type": "github" }, "original": { @@ -127,11 +127,11 @@ "rust-analyzer-src": "rust-analyzer-src" }, "locked": { - "lastModified": 1694154052, - "narHash": "sha256-xpPpaKw9U96nlbiDkdkD5YpAjNLyNwBObuzKgcvn2h4=", + "lastModified": 1694240353, + "narHash": "sha256-UUtR7ff9iZMWhZHDoXSQGWjdmCGPMusTYw/94pARFT8=", "owner": "nix-community", "repo": "fenix", - "rev": "c4b696516500a6417f8a190a55c5084d31934bae", + "rev": "94a5b9a4f8df7b2fa328044b8908b892a2733f60", "type": "github" }, "original": { @@ -317,11 +317,11 @@ "rust-analyzer-src": { "flake": false, "locked": { - "lastModified": 1694107677, - "narHash": "sha256-XZ3nHfC93wdLt/cQXg9kkzmeh6pYtR3TvGwZv+bOHX4=", + "lastModified": 1694196865, + "narHash": "sha256-OmL94alcXqzYlJuqWRlhpV0lvkO6HziuyPbtmM5C0ps=", "owner": "rust-lang", "repo": "rust-analyzer", - "rev": "d5b6ab2fa593f527ad8d0c4fd1038baf91cdd3e7", + "rev": "c405509f2e61cadaa8b18f340582e5c362356f2d", "type": "github" }, "original": { @@ -341,11 +341,11 @@ ] }, "locked": { - "lastModified": 1694139063, - "narHash": "sha256-M2dhhe6IzHmS0zQkmnzbcG98jEQGZ4UcS3VcT+rG/Do=", + "lastModified": 1694225334, + "narHash": "sha256-f3uOfcfmG53biFl6zHPHSFrBucLGQp0LpRYQJlozZSA=", "owner": "oxalica", "repo": "rust-overlay", - "rev": "46dbbcaf435b0d22b149684589b9b059f73f4ffc", + "rev": "1b4fad9dccece45c25b9ebda607427d69a8f1eae", "type": "github" }, "original": { diff --git a/home/default.nix b/home/default.nix index b5c7fbd..c928a29 100644 --- a/home/default.nix +++ b/home/default.nix @@ -25,6 +25,7 @@ ./programs/go.nix ./programs/eza.nix ./programs/rust.nix + ./programs/glamour.nix ]; programs.home-manager.enable = true; diff --git a/home/programs/glamour.nix b/home/programs/glamour.nix new file mode 100644 index 0000000..032a24e --- /dev/null +++ b/home/programs/glamour.nix @@ -0,0 +1,9 @@ +{ + pkgs, + config, + ... +}: { + home.sessionVariables = { + GLAMOUR_STYLE = "${pkgs.ctp-glamour.${config.catppuccin.flavour}}/default.json"; + }; +} diff --git a/modules/nix.nix b/modules/nix.nix index 3ed7366..02707bc 100644 --- a/modules/nix.nix +++ b/modules/nix.nix @@ -31,6 +31,7 @@ in { inputs.fh.overlays.default flakeOverlays.ryan-mono-bin flakeOverlays.ibm-plex + flakeOverlays.ctp-glamour ]; config.allowUnfree = true; diff --git a/overlays/ctp-glamour.nix b/overlays/ctp-glamour.nix new file mode 100644 index 0000000..62ca258 --- /dev/null +++ b/overlays/ctp-glamour.nix @@ -0,0 +1,49 @@ +(_: prev: let + flavors = [ + { + flavor = "latte"; + sha256 = "sha256-V0LsRStF1vL+Tz8G6VaKiwiY/ZIsSkMc+f1WJAITYXU="; + } + { + flavor = "frappe"; + sha256 = "sha256-YOatgYCJKuesVERHZVmF1xtzuLjyxCYstoWYqATq+NU="; + } + { + flavor = "macchiato"; + sha256 = "sha256-CeSJvhjzHVTtlqgQLKOrdLXtp2OQlMh24IaA1QQiQCk="; + } + { + flavor = "mocha"; + sha256 = "sha256-Tx2fQteL4wxhV+qHYZibakiYoEhS4HjyMO0yBcU/F6Q="; + } + ]; +in { + ctp-glamour = builtins.listToAttrs (builtins.map ({ + flavor, + sha256, + }: { + name = flavor; + value = prev.callPackage ( + { + stdenvNoCC, + lib, + fetchurl, + }: + stdenvNoCC.mkDerivation rec { + name = "ctp-glamour-${flavor}"; + version = "1.0.0"; + + src = fetchurl { + url = "https://github.com/catppuccin/glamour/releases/download/v${version}/${flavor}.json"; + inherit sha256; + }; + + unpackPhase = '' + mkdir -p $out + cp $src $out/default.json + ''; + } + ) {}; + }) + flavors); +}) diff --git a/overlays/default.nix b/overlays/default.nix index ee064dd..0568e13 100644 --- a/overlays/default.nix +++ b/overlays/default.nix @@ -1,4 +1,5 @@ { ibm-plex = import ./ibm-plex.nix; ryan-mono-bin = import ./ryan-mono-bin.nix; + ctp-glamour = import ./ctp-glamour.nix; }