add tuicr, replace buildRustPackage with naersk, remove overseer

This commit is contained in:
2026-03-04 10:48:02 +00:00
parent 98adb4061b
commit 90e3b752b0
8 changed files with 13 additions and 115 deletions

View File

@@ -41,11 +41,12 @@
flake = false;
};
jj-starship.url = "github:dmmulroy/jj-starship";
overseer = {
url = "github:dmmulroy/overseer";
flake = false;
};
himalaya.url = "github:pimalaya/himalaya";
naersk = {
url = "github:nix-community/naersk/master";
inputs.nixpkgs.follows = "nixpkgs";
};
tuicr.url = "github:agavra/tuicr";
};
outputs = inputs @ {flake-parts, ...}:

View File

@@ -42,7 +42,6 @@ in {
../../profiles/mise.nix
../../profiles/neovim
../../profiles/opencode.nix
../../profiles/overseer.nix
../../profiles/claude-code.nix
../../profiles/ripgrep.nix
../../profiles/ssh.nix

View File

@@ -1,15 +1,15 @@
{
inputs,
input,
prev,
}: let
naersk-lib = prev.callPackage inputs.naersk {};
manifest = (prev.lib.importTOML "${input}/Cargo.toml").package;
in
prev.rustPlatform.buildRustPackage {
naersk-lib.buildPackage {
pname = manifest.name;
version = manifest.version;
cargoLock.lockFile = "${input}/Cargo.lock";
src = input;
nativeBuildInputs = [prev.pkg-config];

View File

@@ -1,7 +1,7 @@
{inputs}: final: prev: {
jj-ryu =
import ../lib/build-rust-package.nix {
inherit prev;
inherit inputs prev;
input = inputs.jj-ryu;
};
}

View File

@@ -1,101 +0,0 @@
{inputs}: final: prev: let
manifest = (prev.lib.importTOML "${inputs.overseer}/overseer/Cargo.toml").package;
overseer-cli =
prev.rustPlatform.buildRustPackage {
pname = "overseer-cli";
version = manifest.version;
cargoLock.lockFile = "${inputs.overseer}/overseer/Cargo.lock";
src = "${inputs.overseer}/overseer";
nativeBuildInputs = with prev; [
pkg-config
];
buildInputs = with prev; [
openssl
];
OPENSSL_NO_VENDOR = 1;
doCheck = false;
};
overseer-host =
prev.buildNpmPackage {
pname = "overseer-host";
version = manifest.version;
src = "${inputs.overseer}/host";
npmDepsHash = "sha256-WIjx6N8vnH3C6Kxn4tiryi3bM0xnov5ok2k9XrndIS0=";
buildPhase = ''
runHook preBuild
npm run build
runHook postBuild
'';
installPhase = ''
runHook preInstall
mkdir -p $out
cp -r dist $out/
cp -r node_modules $out/
cp package.json $out/
runHook postInstall
'';
};
overseer-ui =
prev.buildNpmPackage {
pname = "overseer-ui";
version = manifest.version;
src = "${inputs.overseer}/ui";
npmDepsHash = "sha256-krOsSd8OAPsdCOCf1bcz9c/Myj6jpHOkaD/l+R7PQpY=";
buildPhase = ''
runHook preBuild
npm run build
runHook postBuild
'';
installPhase = ''
runHook preInstall
mkdir -p $out
cp -r dist $out/
runHook postInstall
'';
};
in {
# The CLI looks for host/dist/index.js and ui/dist relative to the binary
# Using paths like: exe_dir.join("../@dmmulroy/overseer/host/dist/index.js")
# So we create: bin/os and @dmmulroy/overseer/host/dist/index.js
overseer =
prev.runCommand "overseer-${manifest.version}" {
nativeBuildInputs = [prev.makeWrapper];
} ''
# Create npm-like structure that the CLI expects
mkdir -p $out/bin
mkdir -p $out/@dmmulroy/overseer/host
mkdir -p $out/@dmmulroy/overseer/ui
# Copy host files
cp -r ${overseer-host}/dist $out/@dmmulroy/overseer/host/
cp -r ${overseer-host}/node_modules $out/@dmmulroy/overseer/host/
cp ${overseer-host}/package.json $out/@dmmulroy/overseer/host/
# Copy UI files
cp -r ${overseer-ui}/dist $out/@dmmulroy/overseer/ui/
# Copy CLI binary
cp ${overseer-cli}/bin/os $out/bin/os
# Make wrapper that ensures node is available
wrapProgram $out/bin/os \
--prefix PATH : ${prev.nodejs}/bin
'';
}

3
overlays/tuicr.nix Normal file
View File

@@ -0,0 +1,3 @@
{inputs}: final: prev: {
tuicr = inputs.tuicr.packages.${prev.stdenv.hostPlatform.system}.default;
}

View File

@@ -1,5 +0,0 @@
{pkgs, ...}: {
home.packages = with pkgs; [
overseer
];
}

View File

@@ -48,6 +48,7 @@ with pkgs;
tokei
tree
tree-sitter
tuicr
vivid
]
++ lib.optionals stdenv.isDarwin [