From ed0339570edd7b4e244f8725e6bd338fdde77531 Mon Sep 17 00:00:00 2001 From: Yuto Nishida Date: Sun, 12 Jul 2026 20:29:51 -0700 Subject: [PATCH] [soup] Add silverwood --- flake-profiles/system-sodium/flake.nix | 5 +++++ soup/extraPackages.nix | 3 ++- soup/flake.nix | 11 ++++++++++- soup/pkgs/silverwood.nix | 9 +++++++++ venus/modules/home-manager/sodium.nix | 1 + 5 files changed, 27 insertions(+), 2 deletions(-) create mode 100644 soup/pkgs/silverwood.nix diff --git a/flake-profiles/system-sodium/flake.nix b/flake-profiles/system-sodium/flake.nix index 316639c..be5d336 100644 --- a/flake-profiles/system-sodium/flake.nix +++ b/flake-profiles/system-sodium/flake.nix @@ -129,6 +129,11 @@ (final: super: { lute3 = inputs.soup.legacyPackages."aarch64-darwin".lute3; }) + # silverwood (experimental/silverwood) via soup. Uses silverwood's own + # nixpkgs, so it avoids the apple_sdk_11_0 error that disables check-gits/lute3. + (final: super: { + silverwood = inputs.soup.legacyPackages."aarch64-darwin".silverwood; + }) # HACK: skip broken tests until PR #502783 bumps resticprofile to 0.33.0 (final: super: { resticprofile = super.resticprofile.overrideAttrs (o: { doCheck = false; }); diff --git a/soup/extraPackages.nix b/soup/extraPackages.nix index cbf84d0..d0a23d7 100644 --- a/soup/extraPackages.nix +++ b/soup/extraPackages.nix @@ -26,7 +26,8 @@ rec { jujutsu = callPackageWithMaybeFlakeInputs ./pkgs/jujutsu.nix { }; jujutsu-bin = (callPackageWithMaybeFlakeInputs ./pkgs/jujutsu-bin/main.nix { }).latest.${system}; natto-py = callPackageWithMaybeFlakeInputs ./pkgs/natto-py/default.nix { }; - lute3 = callPackageWithMaybeFlakeInputs ./pkgs/lute3/default.nix { + lute3 = callPackageWithMaybeFlakeInputs ./pkgs/lute3/default.nix { natto-py = natto-py; }; + silverwood = callPackageWithMaybeFlakeInputs ./pkgs/silverwood.nix { }; } diff --git a/soup/flake.nix b/soup/flake.nix index aab1f2e..6930818 100644 --- a/soup/flake.nix +++ b/soup/flake.nix @@ -54,6 +54,15 @@ devenv.follows = "devenv"; }; }; + + # silverwood lives in this monorepo (experimental/silverwood). git+file (NOT + # path:) so .gitignore is respected — excludes its ~1.5G Rust target/. An + # ABSOLUTE path is required: a relative `git+file:..` does not resolve when + # soup is itself evaluated as a git subdir-flake. No nixpkgs.follows: + # silverwood keeps its own modern nixpkgs (unstable) + crane, sidestepping + # soup's stale pin. (Absolute path ⇒ only resolvable where the monorepo lives + # at this path — i.e. keep this input out of the github:starptr/soup mirror.) + silverwood.url = "git+file:///Users/yuto/src/everything?dir=experimental/silverwood"; }; nixConfig = { @@ -83,7 +92,7 @@ forAllSystems = f: nixpkgs.lib.genAttrs systems (system: f system); # TODO: remove in favor of `exports` flake-inputs = { - inherit (inputs) love chaseln dark-notify-wrapped fenix check-gits jujutsu claude-code-overlay; + inherit (inputs) love chaseln dark-notify-wrapped fenix check-gits jujutsu claude-code-overlay silverwood; }; # List of flake inputs that we want to transparently re-export (i.e. without custom packaging) exports = import ./exports.nix; diff --git a/soup/pkgs/silverwood.nix b/soup/pkgs/silverwood.nix new file mode 100644 index 0000000..d617236 --- /dev/null +++ b/soup/pkgs/silverwood.nix @@ -0,0 +1,9 @@ +# silverwood CLI, re-exported from its own flake (experimental/silverwood). +# silverwood lives only in this monorepo (not on GitHub), so — unlike +# check-gits.nix — there is no fetchFromGitHub fallback: it requires soup to be +# consumed as a flake (so `maybe-flake-inputs` is populated). +{ stdenv, maybe-flake-inputs }: +if maybe-flake-inputs == null then + throw "silverwood is only available when soup is consumed as a flake (monorepo-only; no github fallback)" +else + maybe-flake-inputs.silverwood.packages.${stdenv.hostPlatform.system}.default diff --git a/venus/modules/home-manager/sodium.nix b/venus/modules/home-manager/sodium.nix index 32c73de..eb444a9 100644 --- a/venus/modules/home-manager/sodium.nix +++ b/venus/modules/home-manager/sodium.nix @@ -32,6 +32,7 @@ pkgs.jellyfin-mpv-shim pkgs.devenv pkgs.chaseln + pkgs.silverwood # experimental/silverwood CLI, re-exported through soup #pkgs.cinny-desktop #pkgs.element-desktop # Build fails (unrelated issue) pkgs.neovim # Temporary until I figure out how to integrate ammonia into the sodium config -- 2.51.2