This repository has no description
3.4 kB
94 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 extensions = [
49 ./questionnaire.ts
50 ./auto-theme.ts
51 ];
52 defaultProvider = "anthropic";
53 defaultModel = "claude-opus-4-6";
54 defaultThinkingLevel = "medium";
55 permissionLevel = "low";
56 permissionMode = "ask";
57 permissionConfig.overrides.minimal = [
58 "nix build *"
59 "nix eval *"
60 "nix fmt *"
61 ];
62 };
63
64 pluginOverrides = ''
65 # Fix keybinding conflicts in extension source
66 ${pkgs.gnused}/bin/sed -i 's/"ctrl+u"/"ctrl+shift+u"/' $out/lib/node_modules/shitty-extensions/extensions/ultrathink.ts
67 ${pkgs.gnused}/bin/sed -i 's/"ctrl+r"/"ctrl+shift+r"/' $out/lib/node_modules/shitty-extensions/extensions/speedreading.ts
68
69 # Remove a-nach-b skill
70 rm -rf $out/lib/node_modules/shitty-extensions/skills/a-nach-b
71
72 # Add hedgedoc skill
73 ln -s ${
74 self.legacyPackages.${pkgs.system}.skills.hedgedoc
75 }/share/hedgedoc $out/lib/node_modules/shitty-extensions/skills/hedgedoc
76
77 # Add reverse-engineering skill
78 ln -s ${
79 self.legacyPackages.${pkgs.system}.skills.reverse-engineering
80 }/share/reverse-engineering $out/lib/node_modules/shitty-extensions/skills/reverse-engineering
81
82 # Patch permission extension to use pw-play for peon sounds on Linux
83 ${pkgs.lib.optionalString pkgs.stdenv.hostPlatform.isLinux ''
84 ${pkgs.python3}/bin/python3 ${./patch-permission-sound.py} \
85 $out/lib/node_modules/pi-hooks/permission/permission.ts \
86 ${pkgs.pipewire}/bin/pw-play
87 ''}
88 '';
89 };
90 in
91 {
92 packages.pi = pi.wrapper;
93 };
94}