diff --git a/flake.nix b/flake.nix index a352386..33c4dbf 100644 --- a/flake.nix +++ b/flake.nix @@ -62,6 +62,8 @@ inputs.helix.overlays.default opencode.overlays.default (final: prev: { + jj-starship = prev.callPackage ./pkgs/jj-starship.nix { }; + # opencode's dev branch asks for Bun 1.3.14, but this revision builds and runs with nixpkgs' Bun 1.3.13. opencode = prev.opencode.overrideAttrs (old: { postPatch = (old.postPatch or "") + '' diff --git a/home-modules/desktop.nix b/home-modules/desktop.nix index 6b93249..e23a44a 100644 --- a/home-modules/desktop.nix +++ b/home-modules/desktop.nix @@ -179,6 +179,7 @@ in disable-user-extensions = false; enabled-extensions = [ "hidetopbar@mathieu.bidon.ca" + "appindicatorsupport@rgcjonas.gmail.com" "wifiqrcode@glerro.pm.me" "system-monitor-next@paradoxxx.zero.gmail.com" "clipboard-indicator@tudmotu.com" diff --git a/home-modules/lib.nix b/home-modules/lib.nix index 2a25317..d9f08bc 100644 --- a/home-modules/lib.nix +++ b/home-modules/lib.nix @@ -2,13 +2,18 @@ config, pkgs, inputs, + hostname, ... }: let sshPublicKeys = (import ../ssh-public-keys.nix).jet; name = "Jet"; - email = "jet@extremist.software"; + email = + if hostname == "framework-work" then + "jet@corp.primitive.dev" + else + "jet@extremist.software"; sshSigningKey = "~/.ssh/id_ed25519"; opencodeLibraryPath = pkgs.lib.makeLibraryPath [ pkgs.stdenv.cc.cc.lib ]; opencodeMine = pkgs.writeShellApplication { diff --git a/home-modules/opencode.nix b/home-modules/opencode.nix index 7d592af..0657ead 100644 --- a/home-modules/opencode.nix +++ b/home-modules/opencode.nix @@ -1,5 +1,12 @@ { homeLib, pkgs, ... }: +let + chromeDevtoolsMcpShell = pkgs.runCommand "chrome-devtools-mcp-shell-path" { } '' + mkdir -p "$out/bin" + ln -s ${pkgs.bash}/bin/bash "$out/bin/sh" + ''; +in + { home.file.".agents/skills/check-pr".source = "${homeLib.greptileSkills}/check-pr"; home.file.".agents/skills/greploop".source = "${homeLib.greptileSkills}/greploop"; @@ -63,6 +70,11 @@ NPM_CONFIG_AUDIT = "false"; NPM_CONFIG_FUND = "false"; NPM_CONFIG_UPDATE_NOTIFIER = "false"; + PATH = pkgs.lib.makeBinPath [ + pkgs.nodejs_24 + chromeDevtoolsMcpShell + pkgs.coreutils + ]; }; }; model = "openai/gpt-5.5-fast"; diff --git a/home-modules/packages.nix b/home-modules/packages.nix index b240efa..01558d3 100644 --- a/home-modules/packages.nix +++ b/home-modules/packages.nix @@ -149,6 +149,7 @@ in mkp224o nixfmt difftastic + jj-starship ripgrep tea trash-cli @@ -201,6 +202,7 @@ in xdg-utils gnomeExtensions.auto-move-windows + gnomeExtensions.appindicator gnomeExtensions.clipboard-indicator gnomeExtensions.hide-top-bar gnomeExtensions.maximized-by-default-actually-reborn diff --git a/home-modules/shell.nix b/home-modules/shell.nix index 758b666..875a387 100644 --- a/home-modules/shell.nix +++ b/home-modules/shell.nix @@ -1,4 +1,4 @@ -{ ... }: +{ pkgs, ... }: { programs.helix = { @@ -23,14 +23,19 @@ enable = true; enableBashIntegration = true; settings = { - format = "$directory$git_status$nix_shell$cmd_duration$line_break$character"; + format = "$directory\${custom.jj}$nix_shell$cmd_duration$line_break$character"; directory.truncation_length = 3; - git_status.style = "red"; git_branch.disabled = true; + git_status.disabled = true; nix_shell.format = "[$symbol]($style) "; cmd_duration.min_time = 500; character.success_symbol = "[❯](bold green)"; character.error_symbol = "[❯](bold red)"; + custom.jj = { + when = "jj-starship detect"; + shell = [ "${pkgs.jj-starship}/bin/jj-starship" ]; + format = "$output "; + }; }; }; diff --git a/index.html b/index.html new file mode 100644 index 0000000..0449d79 --- /dev/null +++ b/index.html @@ -0,0 +1,17 @@ + + + + + + + + + + + +
+ + diff --git a/package.json b/package.json new file mode 100644 index 0000000..8748856 --- /dev/null +++ b/package.json @@ -0,0 +1,33 @@ +{ + "name": "@oneleet/agent", + "version": "2.2.8", + "main": "./out/main/index.js", + "author": "Oneleet Inc. (https://www.oneleet.com)", + "homepage": "https://www.oneleet.com", + "dependencies": { + "@sentry/electron": "^6.7.0", + "@tanstack/react-query": "^5.75.2", + "archiver": "^7.0.1", + "auto-launch": "^5.0.6", + "compare-versions": "^6.1.1", + "electron-log": "^5.4.1", + "electron-store": "^10.0.1", + "electron-updater": "^6.6.2", + "input-otp": "^1.4.1", + "node-cron": "^3.0.3", + "react-router-dom": "^6.28.0", + "vite-tsconfig-paths": "^5.1.2", + "zod": "^4.1.5" + }, + "lavamoat": { + "allowScripts": { + "__comment": "See https://www.npmjs.com/package/@lavamoat/allow-scripts", + "$root$": true, + "vite>esbuild": true, + "electron": true, + "vite>tsx>esbuild": true, + "@lavamoat/preinstall-always-fail": false, + "electron-builder>app-builder-lib>electron-builder-squirrel-windows>electron-winstaller": false + } + } +} \ No newline at end of file diff --git a/pkgs/jj-starship.nix b/pkgs/jj-starship.nix new file mode 100644 index 0000000..721dc73 --- /dev/null +++ b/pkgs/jj-starship.nix @@ -0,0 +1,40 @@ +{ + lib, + rustPlatform, + fetchFromGitHub, + pkg-config, + libgit2, + zlib, + versionCheckHook, + withGit ? true, +}: + +rustPlatform.buildRustPackage (finalAttrs: { + pname = "jj-starship"; + version = "0.7.1"; + + src = fetchFromGitHub { + owner = "dmmulroy"; + repo = "jj-starship"; + rev = "v${finalAttrs.version}"; + hash = "sha256-NLds7i1ZmscicaNLmkZCWmc7A+367BXxGioRd4yYof8="; + }; + + cargoHash = "sha256-i7x/y+BkKH+Xj1bU4RRe9fcteabB+4uAgJuW3x5/jv4="; + buildNoDefaultFeatures = !withGit; + + nativeBuildInputs = [ pkg-config ]; + + buildInputs = [ zlib ] ++ lib.optionals withGit [ libgit2 ]; + + doInstallCheck = true; + nativeInstallCheckInputs = [ versionCheckHook ]; + + meta = { + description = "Unified Starship prompt module for Git and Jujutsu repositories that is optimized for latency"; + homepage = "https://github.com/dmmulroy/jj-starship"; + changelog = "https://github.com/dmmulroy/jj-starship/releases/tag/v${finalAttrs.version}"; + license = lib.licenses.mit; + mainProgram = "jj-starship"; + }; +})