This repository has no description
1.6 kB
49 lines
1{ self, inputs, ... }:
2{
3 perSystem =
4 { pkgs, ... }:
5 let
6 pi = inputs.wrappers.lib.wrapModule {
7 imports = [ self.wrapperModules.pi ];
8 inherit pkgs;
9
10 settings = {
11 packages = [
12 {
13 source = "npm:pi-hooks";
14 hash = "sha256-IYXckWXmRsX62aQANatkcu2kV+PXT5mNB2ONpJsOPMI=";
15 }
16 {
17 source = "npm:shitty-extensions";
18 hash = "sha256-OJZezuRDUiKysfkjJxeA6BjGohFR/+uVg611jGaRTV0=";
19 extensions = [ "!extensions/resistance.ts" ];
20 }
21 ];
22 defaultProvider = "anthropic";
23 defaultModel = "claude-opus-4-6";
24 defaultThinkingLevel = "medium";
25 permissionLevel = "low";
26 permissionMode = "ask";
27 permissionConfig.overrides.minimal = [
28 "nix build *"
29 "nix eval *"
30 "nix fmt *"
31 ];
32 };
33
34 pluginOverrides = ''
35 # Fix keybinding conflicts in extension source
36 ${pkgs.gnused}/bin/sed -i 's/"ctrl+u"/"ctrl+shift+u"/' $out/lib/node_modules/shitty-extensions/extensions/ultrathink.ts
37 ${pkgs.gnused}/bin/sed -i 's/"ctrl+r"/"ctrl+shift+r"/' $out/lib/node_modules/shitty-extensions/extensions/speedreading.ts
38
39 # Patch permission extension to use pw-play for peon sounds on Linux
40 ${pkgs.python3}/bin/python3 ${./patch-permission-sound.py} \
41 $out/lib/node_modules/pi-hooks/permission/permission.ts \
42 ${pkgs.pipewire}/bin/pw-play
43 '';
44 };
45 in
46 {
47 packages.pi = pi.wrapper;
48 };
49}