From 0938aa162e4f93d5825135b180dd8b926cdfe738 Mon Sep 17 00:00:00 2001 From: Ryan Cao <70191398+ryanccn@users.noreply.github.com> Date: Tue, 25 Jul 2023 13:27:08 +0800 Subject: [PATCH] feat: manage ryan-mono with hm --- home.nix | 6 ++++- overlays/ryan-mono-bin.nix | 45 ++++++++++++++++++++++++++++++++++++++ system.nix | 1 + 3 files changed, 51 insertions(+), 1 deletion(-) create mode 100644 overlays/ryan-mono-bin.nix diff --git a/home.nix b/home.nix index 95bf30c..83b2b47 100644 --- a/home.nix +++ b/home.nix @@ -1,4 +1,5 @@ { + pkgs, config, agenixModule, ctpModule, @@ -19,7 +20,10 @@ ]; programs.home-manager.enable = true; - home.packages = []; + home.packages = with pkgs; [ + ryan-mono-bin + ryan-term-bin + ]; catppuccin.flavour = "frappe"; diff --git a/overlays/ryan-mono-bin.nix b/overlays/ryan-mono-bin.nix new file mode 100644 index 0000000..0f91d65 --- /dev/null +++ b/overlays/ryan-mono-bin.nix @@ -0,0 +1,45 @@ +(_: prev: let + version = "2023.07.25"; + + mkFontVariant = { + variant, + sha256, + }: + prev.callPackage ({ + lib, + fetchzip, + }: + fetchzip rec { + pname = variant; + inherit version; + + url = "https://github.com/ryanccn/ryan-mono/releases/download/${version}/${variant}.zip"; + stripRoot = false; + + postFetch = '' + postDir="$TMPDIR/post" + mkdir -p $postDir + mv $out/* $postDir + mkdir -p $out/share/fonts/truetype + mv $postDir/*.ttf $out/share/fonts/truetype + ''; + + inherit sha256; + + meta = with lib; { + homepage = "https://github.com/ryanccn/ryan-mono"; + description = "Iosevka with customizations and Nerd Font patches"; + platforms = platforms.all; + }; + }) {}; +in { + ryan-mono-bin = mkFontVariant { + variant = "ryan-mono"; + sha256 = "sha256-u8Ex7PgPxQVQt4VSQMsvpcO2g3Ma/75NAxIn3tATf5w="; + }; + + ryan-term-bin = mkFontVariant { + variant = "ryan-term"; + sha256 = "sha256-VmgmZFIPD7mLl1ATR1nlQN+qzFHXkopj8XZg97VgtlU="; + }; +}) diff --git a/system.nix b/system.nix index 98d1e4a..441ca8c 100644 --- a/system.nix +++ b/system.nix @@ -88,6 +88,7 @@ agenix.overlays.default fenix.overlays.default (import ./overlays/gen-license.nix) + (import ./overlays/ryan-mono-bin.nix) ]; config.allowUnfree = true;