add tuicr, replace buildRustPackage with naersk, remove overseer
This commit is contained in:
@@ -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, ...}:
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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];
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{inputs}: final: prev: {
|
||||
jj-ryu =
|
||||
import ../lib/build-rust-package.nix {
|
||||
inherit prev;
|
||||
inherit inputs prev;
|
||||
input = inputs.jj-ryu;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -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
3
overlays/tuicr.nix
Normal file
@@ -0,0 +1,3 @@
|
||||
{inputs}: final: prev: {
|
||||
tuicr = inputs.tuicr.packages.${prev.stdenv.hostPlatform.system}.default;
|
||||
}
|
||||
@@ -1,5 +0,0 @@
|
||||
{pkgs, ...}: {
|
||||
home.packages = with pkgs; [
|
||||
overseer
|
||||
];
|
||||
}
|
||||
@@ -48,6 +48,7 @@ with pkgs;
|
||||
tokei
|
||||
tree
|
||||
tree-sitter
|
||||
tuicr
|
||||
vivid
|
||||
]
|
||||
++ lib.optionals stdenv.isDarwin [
|
||||
|
||||
Reference in New Issue
Block a user