This repository has no description
2.9 kB
82 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 version = "1.0.3";
15 hash = "sha256-jU3akfqsWgjvOG+8+Md2qEzkXp48LUaXVncpUMXxy7s=";
16 deps = [
17 {
18 source = "npm:shell-quote";
19 version = "1.8.3";
20 hash = "sha256-32QLNUuvjigj1scqLlCVFTfgS3MHm9dBjPk9iVB+IsE=";
21 }
22 {
23 source = "npm:vscode-languageserver-protocol";
24 version = "3.17.5";
25 hash = "sha256-dHPrLSFj8/i+oJZE+dgDeJoZXllrZdOUbEFX5YPjzMg=";
26 deps = [
27 {
28 source = "npm:vscode-jsonrpc";
29 version = "8.2.0";
30 hash = "sha256-PaRFMcOY8VRQdMtyjjWagi81ufiscXHIR/QvByi5x8s=";
31 }
32 {
33 source = "npm:vscode-languageserver-types";
34 version = "3.17.5";
35 hash = "sha256-1nP55/i75RNRvlHFjzLU3PqXpnDruGvGMzaDlMYJysA=";
36 }
37 ];
38 }
39 ];
40 }
41 {
42 source = "npm:shitty-extensions";
43 version = "1.0.9";
44 hash = "sha256-g26MZ5x4HUcDai4SXPaOEhqgGGqzAI68znnsCbKJv7E=";
45 extensions = [ "!extensions/resistance.ts" ];
46 }
47 ];
48 defaultProvider = "anthropic";
49 defaultModel = "claude-opus-4-6";
50 defaultThinkingLevel = "medium";
51 permissionLevel = "low";
52 permissionMode = "ask";
53 permissionConfig.overrides.minimal = [
54 "nix build *"
55 "nix eval *"
56 "nix fmt *"
57 ];
58 };
59
60 pluginOverrides = ''
61 # Fix keybinding conflicts in extension source
62 ${pkgs.gnused}/bin/sed -i 's/"ctrl+u"/"ctrl+shift+u"/' $out/lib/node_modules/shitty-extensions/extensions/ultrathink.ts
63 ${pkgs.gnused}/bin/sed -i 's/"ctrl+r"/"ctrl+shift+r"/' $out/lib/node_modules/shitty-extensions/extensions/speedreading.ts
64
65 # Add hedgedoc skill
66 ln -s ${
67 self.legacyPackages.${pkgs.system}.skills.hedgedoc
68 }/share/hedgedoc $out/lib/node_modules/shitty-extensions/skills/hedgedoc
69
70 # Patch permission extension to use pw-play for peon sounds on Linux
71 ${pkgs.lib.optionalString pkgs.stdenv.hostPlatform.isLinux ''
72 ${pkgs.python3}/bin/python3 ${./patch-permission-sound.py} \
73 $out/lib/node_modules/pi-hooks/permission/permission.ts \
74 ${pkgs.pipewire}/bin/pw-play
75 ''}
76 '';
77 };
78 in
79 {
80 packages.pi = pi.wrapper;
81 };
82}