From b381e1785d096a41e0d87f1a8a96021845ff567a Mon Sep 17 00:00:00 2001 From: Sean Kovacs Date: Thu, 15 Jan 2026 22:39:47 -0500 Subject: [PATCH] move all url fetches into main flake --- flake.lock | 51 ++++++++++++++++++++++ flake.nix | 34 ++++++++++++--- home/graphical/discord/default.nix | 51 +--------------------- home/graphical/mpv/default.nix | 9 +--- home/terminal/btop/default.nix | 11 +---- packages/catppuccin-discord/default.nix | 57 +++++++++++++++++++++++++ packages/overlay.nix | 3 ++ 7 files changed, 144 insertions(+), 72 deletions(-) create mode 100644 packages/catppuccin-discord/default.nix diff --git a/flake.lock b/flake.lock index de6548e..8bb6059 100644 --- a/flake.lock +++ b/flake.lock @@ -73,6 +73,54 @@ "type": "github" } }, + "catppuccin-btop": { + "flake": false, + "locked": { + "lastModified": 1727050041, + "narHash": "sha256-mEGZwScVPWGu+Vbtddc/sJ+mNdD2kKienGZVUcTSl+c=", + "owner": "catppuccin", + "repo": "btop", + "rev": "f437574b600f1c6d932627050b15ff5153b58fa3", + "type": "github" + }, + "original": { + "owner": "catppuccin", + "repo": "btop", + "type": "github" + } + }, + "catppuccin-discord": { + "flake": false, + "locked": { + "lastModified": 1768037813, + "narHash": "sha256-ExRNnxvG2PSGmpuaPxzCKL6GK6ETs7Gq4Roa74HXp+s=", + "owner": "catppuccin", + "repo": "discord", + "rev": "0fcfe2e15ed91f8c5f1f3c6855f3b2024f78d86c", + "type": "github" + }, + "original": { + "owner": "catppuccin", + "repo": "discord", + "type": "github" + } + }, + "catppuccin-mpv": { + "flake": false, + "locked": { + "lastModified": 1754544320, + "narHash": "sha256-oUheJNWk2R6gNEmkK8H6PWX0iofx2KMGDoFWtnr420A=", + "owner": "catppuccin", + "repo": "mpv", + "rev": "08e90daf511eee2c10c98f0031b51bb9de240d60", + "type": "github" + }, + "original": { + "owner": "catppuccin", + "repo": "mpv", + "type": "github" + } + }, "catppuccin-palette": { "locked": { "lastModified": 1760672867, @@ -536,6 +584,9 @@ "inputs": { "apple-silicon": "apple-silicon", "catppuccin": "catppuccin", + "catppuccin-btop": "catppuccin-btop", + "catppuccin-discord": "catppuccin-discord", + "catppuccin-mpv": "catppuccin-mpv", "catppuccin-palette": "catppuccin-palette", "home-manager": "home-manager", "niri": "niri", diff --git a/flake.nix b/flake.nix index 3dd2550..f7a60dd 100644 --- a/flake.nix +++ b/flake.nix @@ -61,6 +61,21 @@ url = "gitlab:OpenMW/openmw"; flake = false; }; + + catppuccin-discord = { + url = "github:catppuccin/discord"; + flake = false; + }; + + catppuccin-btop = { + url = "github:catppuccin/btop"; + flake = false; + }; + + catppuccin-mpv = { + url = "github:catppuccin/mpv"; + flake = false; + }; }; outputs = { @@ -78,6 +93,9 @@ nixvim, apple-silicon, openmw, + catppuccin-discord, + catppuccin-btop, + catppuccin-mpv, ... }: let # All systems we want to support for the generic VM @@ -90,6 +108,13 @@ allowUnfree = true; }; + # Helper to create source metadata + mkSource = src: { + inherit src; + version = src.shortRev or src.rev or "unknown"; + date = src.lastModifiedDate or "unknown"; + }; + mkNixosSystem = { hostname, system, @@ -119,11 +144,10 @@ nur.overlays.default (import ./packages/overlay.nix) (final: prev: { - openmw-git = { - src = openmw; - version = openmw.shortRev or openmw.rev or "unknown"; - date = openmw.lastModifiedDate or "unknown"; - }; + openmw-git = mkSource openmw; + catppuccin-discord-git = mkSource catppuccin-discord; + catppuccin-btop-git = mkSource catppuccin-btop; + catppuccin-mpv-git = mkSource catppuccin-mpv; }) ]; }; diff --git a/home/graphical/discord/default.nix b/home/graphical/discord/default.nix index 7073352..58bcf9f 100644 --- a/home/graphical/discord/default.nix +++ b/home/graphical/discord/default.nix @@ -3,56 +3,7 @@ pkgs, ... }: let - catppuccin-discord-src = pkgs.fetchFromGitHub { - owner = "catppuccin"; - repo = "discord"; - rev = "1b2dffbabf75a294a0fb9245f9f7244a853e7ada"; - hash = "sha256-LdUPnnbbSwgaw37FJD2s1vPiTaISaYbtOWRxQIekQkQ="; - }; - - yarnOfflineCache = pkgs.fetchYarnDeps { - yarnLock = "${catppuccin-discord-src}/yarn.lock"; - hash = "sha256-BhE3aKyA/LBErjWx+lbEVb/CIXhqHkXbV+9U2djIBhs="; - }; - - catppuccin-discord-pkg = pkgs.stdenv.mkDerivation { - pname = "catppuccin-discord"; - version = "unstable"; - - src = catppuccin-discord-src; - - nativeBuildInputs = with pkgs; [ - yarn - nodejs - fixup-yarn-lock - nodePackages.sass - ]; - - postPatch = '' - substituteInPlace package.json \ - --replace-fail "--no-charset --no-source-map" "" - ''; - - configurePhase = '' - export HOME=$TMPDIR - yarn config --offline set yarn-offline-mirror ${yarnOfflineCache} - fixup-yarn-lock yarn.lock - yarn install --offline --frozen-lockfile --ignore-scripts --ignore-platform - ''; - - buildPhase = '' - yarn --offline build - yarn --offline release - ''; - - installPhase = '' - mkdir -p $out - find . - cp -r dist/* $out - ''; - }; - - catppuccin-discord = "${catppuccin-discord-pkg}/dist/catppuccin-${config.catppuccin.flavor}-${config.catppuccin.accent}.theme.css"; + catppuccin-discord = "${pkgs.catppuccin-discord}/share/catppuccin-discord/catppuccin-${config.catppuccin.flavor}-${config.catppuccin.accent}.theme.css"; mergedThemes = pkgs.runCommand "mergedConfig" {} '' mkdir -p $out diff --git a/home/graphical/mpv/default.nix b/home/graphical/mpv/default.nix index ecbc028..3a3a1d6 100644 --- a/home/graphical/mpv/default.nix +++ b/home/graphical/mpv/default.nix @@ -3,17 +3,10 @@ pkgs, ... }: let - catppuccin-mpv = pkgs.fetchFromGitHub { - owner = "catppuccin"; - repo = "mpv"; - rev = "08e90daf511eee2c10c98f0031b51bb9de240d60"; - sha256 = "sha256-oUheJNWk2R6gNEmkK8H6PWX0iofx2KMGDoFWtnr420A="; - }; - mergedConfig = pkgs.runCommand "mergedConfig" {} '' mkdir -p $out ${pkgs.gnused}/bin/sed 's/#1e1e2e/#000000/g' \ - ${catppuccin-mpv}/themes/${config.catppuccin.flavor}/${config.catppuccin.accent}.conf \ + ${pkgs.catppuccin-mpv-git.src}/themes/${config.catppuccin.flavor}/${config.catppuccin.accent}.conf \ > $out/mpv.conf ''; in { diff --git a/home/terminal/btop/default.nix b/home/terminal/btop/default.nix index 4d7c5fc..a8f337a 100644 --- a/home/terminal/btop/default.nix +++ b/home/terminal/btop/default.nix @@ -3,19 +3,12 @@ pkgs, ... }: let - catppuccin-btop = pkgs.fetchFromGitHub { - owner = "catppuccin"; - repo = "btop"; - rev = "f437574b600f1c6d932627050b15ff5153b58fa3"; - sha256 = "sha256-mEGZwScVPWGu+Vbtddc/sJ+mNdD2kKienGZVUcTSl+c="; - }; - mergedConfig = pkgs.runCommand "mergedConfig" {} '' mkdir -p $out/themes ${pkgs.gnused}/bin/sed 's/blankFlavor/${config.catppuccin.flavor}/g' \ ${./btop.conf} > $out/btop.conf - cp ${catppuccin-btop}/themes/catppuccin_latte.theme $out/themes/ - cp ${catppuccin-btop}/themes/catppuccin_${config.catppuccin.flavor}.theme $out/themes/nixos.theme + cp ${pkgs.catppuccin-btop-git.src}/themes/catppuccin_latte.theme $out/themes/ + cp ${pkgs.catppuccin-btop-git.src}/themes/catppuccin_${config.catppuccin.flavor}.theme $out/themes/nixos.theme ''; in { home.file.".config/btop" = { diff --git a/packages/catppuccin-discord/default.nix b/packages/catppuccin-discord/default.nix new file mode 100644 index 0000000..c672ab1 --- /dev/null +++ b/packages/catppuccin-discord/default.nix @@ -0,0 +1,57 @@ +{ + lib, + stdenv, + fetchYarnDeps, + yarn, + nodejs, + fixup-yarn-lock, + nodePackages, + catppuccin-discord-git, +}: +stdenv.mkDerivation rec { + pname = "catppuccin-discord"; + version = "unstable-${catppuccin-discord-git.date}-${catppuccin-discord-git.version}"; + + src = catppuccin-discord-git.src; + + yarnOfflineCache = fetchYarnDeps { + yarnLock = "${src}/yarn.lock"; + hash = "sha256-BhE3aKyA/LBErjWx+lbEVb/CIXhqHkXbV+9U2djIBhs="; + }; + + nativeBuildInputs = [ + yarn + nodejs + fixup-yarn-lock + nodePackages.sass + ]; + + postPatch = '' + substituteInPlace package.json \ + --replace-fail "--no-charset --no-source-map" "" + ''; + + configurePhase = '' + export HOME=$TMPDIR + yarn config --offline set yarn-offline-mirror ${yarnOfflineCache} + fixup-yarn-lock yarn.lock + yarn install --offline --frozen-lockfile --ignore-scripts --ignore-platform + ''; + + buildPhase = '' + yarn --offline build + yarn --offline release + ''; + + installPhase = '' + mkdir -p $out/share/catppuccin-discord + cp -r dist/dist/* $out/share/catppuccin-discord/ + ''; + + meta = { + description = "Soothing pastel theme for Discord"; + homepage = "https://github.com/catppuccin/discord"; + license = lib.licenses.mit; + platforms = lib.platforms.all; + }; +} diff --git a/packages/overlay.nix b/packages/overlay.nix index e4cbd75..7db842d 100644 --- a/packages/overlay.nix +++ b/packages/overlay.nix @@ -1,5 +1,8 @@ final: prev: { spotify-webapp = final.callPackage ./spotify-webapp {}; + catppuccin-discord = final.callPackage ./catppuccin-discord { + inherit (final) catppuccin-discord-git; + }; openmw = final.callPackage ./openmw { openmw = prev.openmw; inherit (final) openmw-git;