Compare commits
12 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| f5e2b50082 | |||
| 6286921cd1 | |||
| a053c9a50e | |||
| 7f80fd8a75 | |||
| 4e1b39f443 | |||
| b2ca12f86c | |||
| 6c6164043b | |||
| e02a0a29ea | |||
| 831698b766 | |||
| 336a174a17 | |||
| 70562ceef2 | |||
| ef5b67c3e9 |
@@ -177,6 +177,7 @@ base.secrets.enable # pass-wayland, pinentry
|
||||
desktop.wm.hyprland.enable # Hyprland window manager
|
||||
desktop.wm.rofi.enable # Rofi launcher
|
||||
desktop.wm.wayland.enable # Wayland tools (grim, slurp, etc.)
|
||||
desktop.wm.dms.enable # DankMaterialShell desktop shell
|
||||
desktop.apps.obsidian.enable # Obsidian
|
||||
desktop.apps.office.enable # LibreOffice
|
||||
desktop.apps.crypto.enable # Bisq2, Monero, Trezor
|
||||
@@ -245,6 +246,8 @@ source = "${config."m3ta-home".paths.srcRoot}/assets/wallpapers";
|
||||
| `home-manager` | Home-Manager modules |
|
||||
| `nix-colors` | Dracula theme palette (used everywhere) |
|
||||
| `m3ta-nixpkgs` | Custom packages (zellij-ps, rofi-project-opener) and HM modules |
|
||||
| `dms` | DankMaterialShell Home-Manager module and package |
|
||||
| `dms-plugin-registry` | DankMaterialShell plugin sources |
|
||||
| `agenix` | Secret management |
|
||||
| `NUR` | Additional packages |
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
Binary file not shown.
|
After Width: | Height: | Size: 1.3 MiB |
Generated
+152
-30
@@ -21,14 +21,52 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"agent-lib": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1780157040,
|
||||
"narHash": "sha256-j2d3nj3FvOlxQ+Zlse+rMo3qHD3m4Gick5uiwtTaA2o=",
|
||||
"ref": "refs/heads/master",
|
||||
"rev": "f63712a9ba03da6e2f591766d0f055aa65e6d237",
|
||||
"revCount": 24,
|
||||
"type": "git",
|
||||
"url": "ssh://gitea@code.m3ta.dev/m3tam3re/agent-lib"
|
||||
},
|
||||
"original": {
|
||||
"type": "git",
|
||||
"url": "ssh://gitea@code.m3ta.dev/m3tam3re/agent-lib"
|
||||
}
|
||||
},
|
||||
"agents": {
|
||||
"inputs": {
|
||||
"nixpkgs": "nixpkgs_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1780133320,
|
||||
"narHash": "sha256-8AiN9tV9PBb5xblJiPlhumBbKj61qLjzqXXFtkj3vvY=",
|
||||
"ref": "refs/heads/master",
|
||||
"rev": "920c00313ae242bd93275c30131b9ab1e52ee2fb",
|
||||
"revCount": 88,
|
||||
"type": "git",
|
||||
"url": "ssh://gitea@code.m3ta.dev/m3tam3re/AGENTS"
|
||||
},
|
||||
"original": {
|
||||
"type": "git",
|
||||
"url": "ssh://gitea@code.m3ta.dev/m3tam3re/AGENTS"
|
||||
}
|
||||
},
|
||||
"agents_2": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1777399938,
|
||||
"narHash": "sha256-xXPqUQezDdDtF8MbpZnwD1HkybOYwF92evx8rJ6OXCU=",
|
||||
"lastModified": 1778518220,
|
||||
"narHash": "sha256-6AQs9VZ0/DuD4njPbYHRE4v+SgJc6SBrGwemTWxikVc=",
|
||||
"ref": "refs/heads/master",
|
||||
"rev": "9a91f1ee0cf011a7eaf1f16a9e17610b0457e055",
|
||||
"revCount": 85,
|
||||
"rev": "b6e1aaa6261c5056d024d8d4785659eaa4e675e6",
|
||||
"revCount": 87,
|
||||
"type": "git",
|
||||
"url": "https://code.m3ta.dev/m3tam3re/AGENTS"
|
||||
},
|
||||
@@ -97,6 +135,48 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"dms": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
],
|
||||
"quickshell": "quickshell"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1777431599,
|
||||
"narHash": "sha256-g6r/Gx8PTDzO3jCNzzySA+Ff1lmLF9nDlMCNyyoQjoE=",
|
||||
"owner": "AvengeMedia",
|
||||
"repo": "DankMaterialShell",
|
||||
"rev": "eb5afcdc40ea5446c27e18552ff4a19f9daf9484",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "AvengeMedia",
|
||||
"ref": "stable",
|
||||
"repo": "DankMaterialShell",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"dms-plugin-registry": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1780281921,
|
||||
"narHash": "sha256-ZDsDl7lTOfM+Le2l6gDyEP3o+KHR3TUCkuxd9hQaLro=",
|
||||
"owner": "AvengeMedia",
|
||||
"repo": "dms-plugin-registry",
|
||||
"rev": "ee4eeacce5a7041ed39f8cd7fe64b6e0e888e73b",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "AvengeMedia",
|
||||
"repo": "dms-plugin-registry",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-parts": {
|
||||
"inputs": {
|
||||
"nixpkgs-lib": [
|
||||
@@ -146,11 +226,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1778503501,
|
||||
"narHash": "sha256-08L/X4/do7nET4rzidJ76eV/1r+mB7DchVpdPypsghc=",
|
||||
"lastModified": 1780099287,
|
||||
"narHash": "sha256-efIPwVGtIWIjWcznhaop6XN6HxnOL8800hF6CBNvlqQ=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "85ba629c79449badf4338117c27f0ee92b4b9f1a",
|
||||
"rev": "7d8127d308c3fb9664f7e643eec944be74ebb37d",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -161,7 +241,7 @@
|
||||
},
|
||||
"m3ta-nixpkgs": {
|
||||
"inputs": {
|
||||
"agents": "agents",
|
||||
"agents": "agents_2",
|
||||
"basecamp": "basecamp",
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
@@ -170,11 +250,11 @@
|
||||
"openspec": "openspec"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1778508052,
|
||||
"narHash": "sha256-kxzZvJv757TGfHReR21aX6N/jkGMWzGSy9GQEclYD4Y=",
|
||||
"lastModified": 1779944037,
|
||||
"narHash": "sha256-jO6zAJjgc9n3SeDJW1EbV6CEqOa9DK+2AhTgWc+ImHQ=",
|
||||
"ref": "refs/heads/master",
|
||||
"rev": "8113723a48c4afa016881ccd5bc4be3fad2c7d5f",
|
||||
"revCount": 294,
|
||||
"rev": "ae1fb97c21b311dc03a46e8d50867048e5568c88",
|
||||
"revCount": 323,
|
||||
"type": "git",
|
||||
"url": "ssh://gitea@code.m3ta.dev/m3tam3re/nixpkgs"
|
||||
},
|
||||
@@ -235,11 +315,11 @@
|
||||
},
|
||||
"nixpkgs-master": {
|
||||
"locked": {
|
||||
"lastModified": 1778507606,
|
||||
"narHash": "sha256-6Yc2dIhijc8G+dbMNocyclxF19dUrjaT+EeXGrXmXlg=",
|
||||
"lastModified": 1779457550,
|
||||
"narHash": "sha256-yALoy2CrvwvNfwMtGZDRdc+jqVNHulyuM5iVK12lUAI=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "39a7b8d815fcc8b689d56fc4a3fa8de4ef93d169",
|
||||
"rev": "a9c18fd234dbe4fd8de4bac53760b785c47e94ff",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -251,11 +331,27 @@
|
||||
},
|
||||
"nixpkgs_2": {
|
||||
"locked": {
|
||||
"lastModified": 1777954456,
|
||||
"narHash": "sha256-hGdgeU2Nk87RAuZyYjyDjFL6LK7dAZN5RE9+hrDTkDU=",
|
||||
"lastModified": 1772479524,
|
||||
"narHash": "sha256-u7nCaNiMjqvKpE+uZz9hE7pgXXTmm5yvdtFaqzSzUQI=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "549bd84d6279f9852cae6225e372cc67fb91a4c1",
|
||||
"rev": "4215e62dc2cd3bc705b0a423b9719ff6be378a43",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixpkgs-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_3": {
|
||||
"locked": {
|
||||
"lastModified": 1779560665,
|
||||
"narHash": "sha256-tpyBcxPpcQb8ukyNF7DoCwfSY3VPsxHoYwj00Cayv5o=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "64c08a7ca051951c8eae34e3e3cb1e202fe36786",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -265,13 +361,13 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_3": {
|
||||
"nixpkgs_4": {
|
||||
"locked": {
|
||||
"lastModified": 1777954456,
|
||||
"narHash": "sha256-hGdgeU2Nk87RAuZyYjyDjFL6LK7dAZN5RE9+hrDTkDU=",
|
||||
"lastModified": 1779560665,
|
||||
"narHash": "sha256-tpyBcxPpcQb8ukyNF7DoCwfSY3VPsxHoYwj00Cayv5o=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "549bd84d6279f9852cae6225e372cc67fb91a4c1",
|
||||
"rev": "64c08a7ca051951c8eae34e3e3cb1e202fe36786",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -284,14 +380,14 @@
|
||||
"nur": {
|
||||
"inputs": {
|
||||
"flake-parts": "flake-parts",
|
||||
"nixpkgs": "nixpkgs_3"
|
||||
"nixpkgs": "nixpkgs_4"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1778506944,
|
||||
"narHash": "sha256-lU0Bleh0reE+WU7j8Uiqsu6ekPav50L8sXsgOvEQS+0=",
|
||||
"lastModified": 1780290189,
|
||||
"narHash": "sha256-2igu6l2/d4RikYmC/SsykZ1jF1e4+Df+2qWPYjq2xto=",
|
||||
"owner": "nix-community",
|
||||
"repo": "NUR",
|
||||
"rev": "0166493cfe4e0e9927435c1cfbf5505cfb0d10d1",
|
||||
"rev": "8b6210602dcbd4409ab1c3453ea0c292637c2799",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -308,11 +404,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1778120451,
|
||||
"narHash": "sha256-MUSPD16+hoFBfQWYahtNLN2BIFEAlFFo2KNofrc947g=",
|
||||
"lastModified": 1779302169,
|
||||
"narHash": "sha256-OOSPtUXC4F2umtsZPkyWlPQxhXBsxF2vqBXLeI/lqIw=",
|
||||
"owner": "Fission-AI",
|
||||
"repo": "OpenSpec",
|
||||
"rev": "053d8a59d587f3c027a06ad80503a6b43d4f2a92",
|
||||
"rev": "79303b521068c5f525ee61db06b915fc44b098f4",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -321,13 +417,39 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"quickshell": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"dms",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1776854048,
|
||||
"narHash": "sha256-lLbV66V3RMNp1l8/UelmR4YzoJ5ONtgvEtiUMJATH/o=",
|
||||
"ref": "refs/heads/master",
|
||||
"rev": "783c953987dc56ff0601abe6845ed96f1d00495a",
|
||||
"revCount": 806,
|
||||
"type": "git",
|
||||
"url": "https://git.outfoxxed.me/quickshell/quickshell"
|
||||
},
|
||||
"original": {
|
||||
"rev": "783c953987dc56ff0601abe6845ed96f1d00495a",
|
||||
"type": "git",
|
||||
"url": "https://git.outfoxxed.me/quickshell/quickshell"
|
||||
}
|
||||
},
|
||||
"root": {
|
||||
"inputs": {
|
||||
"agenix": "agenix",
|
||||
"agent-lib": "agent-lib",
|
||||
"agents": "agents",
|
||||
"dms": "dms",
|
||||
"dms-plugin-registry": "dms-plugin-registry",
|
||||
"home-manager": "home-manager_2",
|
||||
"m3ta-nixpkgs": "m3ta-nixpkgs",
|
||||
"nix-colors": "nix-colors",
|
||||
"nixpkgs": "nixpkgs_2",
|
||||
"nixpkgs": "nixpkgs_3",
|
||||
"nur": "nur"
|
||||
}
|
||||
},
|
||||
|
||||
@@ -16,6 +16,27 @@
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
agents = {
|
||||
# url = "path:/home/m3tam3re/p/AI/AGENTS";
|
||||
url = "git+ssh://gitea@code.m3ta.dev/m3tam3re/AGENTS";
|
||||
};
|
||||
|
||||
agent-lib = {
|
||||
# url = "path:/home/m3tam3re/p/NIX/agent-lib";
|
||||
url = "git+ssh://gitea@code.m3ta.dev/m3tam3re/agent-lib";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
dms = {
|
||||
url = "github:AvengeMedia/DankMaterialShell/stable";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
dms-plugin-registry = {
|
||||
url = "github:AvengeMedia/dms-plugin-registry";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
agenix.url = "github:ryantm/agenix";
|
||||
|
||||
nur.url = "github:nix-community/NUR";
|
||||
@@ -30,12 +51,18 @@
|
||||
in {
|
||||
# Home-Manager modules — import in nixos-config via:
|
||||
# imports = [ inputs.m3ta-home.homeManagerModules.default ];
|
||||
homeManagerModules = import ./modules { inherit inputs; selfPath = self.outPath; };
|
||||
homeManagerModules = import ./modules {
|
||||
inherit inputs;
|
||||
selfPath = self.outPath;
|
||||
};
|
||||
|
||||
# Library functions — use in nixos-config via:
|
||||
# m3ta-lib = inputs.m3ta-home.lib;
|
||||
# imports = [ (m3ta-lib.mkHome { ... }) ];
|
||||
lib = import ./lib {inherit inputs; selfPath = self.outPath;};
|
||||
lib = import ./lib {
|
||||
inherit inputs;
|
||||
selfPath = self.outPath;
|
||||
};
|
||||
|
||||
# Overlays (re-exports from m3ta-nixpkgs)
|
||||
overlays = inputs.m3ta-nixpkgs.overlays;
|
||||
|
||||
+9
-1
@@ -19,7 +19,10 @@
|
||||
# m3ta.home.sets.coding.languages.python.extra = true;
|
||||
# wayland.windowManager.hyprland.settings.monitor = [ ... ];
|
||||
#
|
||||
{inputs, selfPath}: let
|
||||
{
|
||||
inputs,
|
||||
selfPath,
|
||||
}: let
|
||||
lib = inputs.nixpkgs.lib;
|
||||
in {
|
||||
mkHome = {
|
||||
@@ -80,6 +83,11 @@ in {
|
||||
in {
|
||||
imports =
|
||||
[
|
||||
# External Home Manager modules required by selectable profiles
|
||||
inputs.agent-lib.homeManagerModules.default
|
||||
inputs.dms.homeModules.default
|
||||
inputs.dms-plugin-registry.homeModules.default
|
||||
|
||||
# Paths module — must be first, provides m3taHome.paths.srcRoot
|
||||
../modules/paths.nix
|
||||
baseModule
|
||||
|
||||
@@ -13,6 +13,10 @@
|
||||
in {
|
||||
default = {
|
||||
imports = [
|
||||
# External modules
|
||||
inputs.agent-lib.homeManagerModules.default
|
||||
inputs.dms.homeModules.default
|
||||
inputs.dms-plugin-registry.homeModules.default
|
||||
# Paths — must be first, provides "m3ta-home".paths.srcRoot
|
||||
./paths.nix
|
||||
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
# Includes window manager, applications, theming, and desktop session config.
|
||||
{
|
||||
config,
|
||||
inputs,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
@@ -64,29 +65,30 @@
|
||||
settings = {
|
||||
font-family = "Fira Code";
|
||||
copy-on-select = "clipboard";
|
||||
foreground = "#${config.colorScheme.palette.base05}";
|
||||
background = "#${config.colorScheme.palette.base00}";
|
||||
selection-foreground = "#${config.colorScheme.palette.base07}";
|
||||
selection-background = "#${config.colorScheme.palette.base02}";
|
||||
cursor-color = "#${config.colorScheme.palette.base05}";
|
||||
palette = [
|
||||
"0=#${config.colorScheme.palette.base01}"
|
||||
"1=#${config.colorScheme.palette.base08}"
|
||||
"2=#${config.colorScheme.palette.base0B}"
|
||||
"3=#${config.colorScheme.palette.base0A}"
|
||||
"4=#${config.colorScheme.palette.base0D}"
|
||||
"5=#${config.colorScheme.palette.base0E}"
|
||||
"6=#${config.colorScheme.palette.base0C}"
|
||||
"7=#${config.colorScheme.palette.base05}"
|
||||
"8=#${config.colorScheme.palette.base03}"
|
||||
"9=#${config.colorScheme.palette.base08}"
|
||||
"10=#${config.colorScheme.palette.base0B}"
|
||||
"11=#${config.colorScheme.palette.base0A}"
|
||||
"12=#${config.colorScheme.palette.base0D}"
|
||||
"13=#${config.colorScheme.palette.base0E}"
|
||||
"14=#${config.colorScheme.palette.base0C}"
|
||||
"15=#${config.colorScheme.palette.base07}"
|
||||
];
|
||||
theme = "dankcolors";
|
||||
# foreground = "#${config.colorScheme.palette.base05}";
|
||||
# background = "#${config.colorScheme.palette.base00}";
|
||||
# selection-foreground = "#${config.colorScheme.palette.base07}";
|
||||
# selection-background = "#${config.colorScheme.palette.base02}";
|
||||
# cursor-color = "#${config.colorScheme.palette.base05}";
|
||||
# palette = [
|
||||
# "0=#${config.colorScheme.palette.base01}"
|
||||
# "1=#${config.colorScheme.palette.base08}"
|
||||
# "2=#${config.colorScheme.palette.base0B}"
|
||||
# "3=#${config.colorScheme.palette.base0A}"
|
||||
# "4=#${config.colorScheme.palette.base0D}"
|
||||
# "5=#${config.colorScheme.palette.base0E}"
|
||||
# "6=#${config.colorScheme.palette.base0C}"
|
||||
# "7=#${config.colorScheme.palette.base05}"
|
||||
# "8=#${config.colorScheme.palette.base03}"
|
||||
# "9=#${config.colorScheme.palette.base08}"
|
||||
# "10=#${config.colorScheme.palette.base0B}"
|
||||
# "11=#${config.colorScheme.palette.base0A}"
|
||||
# "12=#${config.colorScheme.palette.base0D}"
|
||||
# "13=#${config.colorScheme.palette.base0E}"
|
||||
# "14=#${config.colorScheme.palette.base0C}"
|
||||
# "15=#${config.colorScheme.palette.base07}"
|
||||
# ];
|
||||
};
|
||||
};
|
||||
|
||||
@@ -100,18 +102,18 @@
|
||||
home.packages = with pkgs; [
|
||||
appimage-run
|
||||
bemoji
|
||||
eigent
|
||||
dconf
|
||||
(element-desktop.override {
|
||||
commandLineArgs = "--password-store=gnome-libsecret";
|
||||
})
|
||||
launch-webapp
|
||||
file-roller
|
||||
hyprpanel
|
||||
hyprpaper-random
|
||||
gsettings-desktop-schemas
|
||||
seahorse
|
||||
sushi
|
||||
ksnip
|
||||
nwg-look
|
||||
qt6Packages.qt6ct
|
||||
rose-pine-hyprcursor
|
||||
remmina
|
||||
slack
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# GTK and Qt theming — Dracula theme with matching icons and cursor.
|
||||
# GTK and Qt theming — system-wide dark Adwaita/libadwaita-compatible theme.
|
||||
{
|
||||
pkgs,
|
||||
config,
|
||||
@@ -11,13 +11,14 @@
|
||||
|
||||
gtk = {
|
||||
enable = true;
|
||||
colorScheme = "dark";
|
||||
theme = {
|
||||
name = "Dracula";
|
||||
package = pkgs.dracula-theme;
|
||||
name = "adw-gtk3-dark";
|
||||
package = pkgs.adw-gtk3;
|
||||
};
|
||||
iconTheme = {
|
||||
name = "Dracula";
|
||||
package = pkgs.dracula-icon-theme;
|
||||
name = "Papirus-Dark";
|
||||
package = pkgs.papirus-icon-theme;
|
||||
};
|
||||
gtk4.theme = config.gtk.theme;
|
||||
};
|
||||
|
||||
@@ -4,5 +4,6 @@
|
||||
./hyprland.nix
|
||||
./wayland.nix
|
||||
./rofi.nix
|
||||
./dms.nix
|
||||
];
|
||||
}
|
||||
|
||||
@@ -0,0 +1,29 @@
|
||||
# DankMaterialShell user-session configuration.
|
||||
# External DMS Home-Manager modules are imported by mkHome/modules/default.nix
|
||||
# so this file only owns the m3ta-home feature flag and desired defaults.
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
with lib; let
|
||||
cfg = config.desktop.wm.dms;
|
||||
in {
|
||||
options.desktop.wm.dms.enable = mkEnableOption "DankMaterialShell desktop shell";
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
programs.dank-material-shell = {
|
||||
enable = true;
|
||||
systemd.enable = true;
|
||||
enableDynamicTheming = true;
|
||||
enableClipboardPaste = true;
|
||||
|
||||
plugins = {
|
||||
dankBatteryAlerts.enable = true;
|
||||
emojiLauncher.enable = true;
|
||||
dankPomodoroTimer.enable = true;
|
||||
dankVault.enable = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -11,16 +11,17 @@ in {
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
wayland.windowManager.hyprland = {
|
||||
configType = "hyprlang";
|
||||
settings = {
|
||||
xwayland = {
|
||||
force_zero_scaling = true;
|
||||
};
|
||||
|
||||
source = [
|
||||
"~/.config/hypr/dms/colors.conf"
|
||||
"~/.config/hypr/dms/layout.conf"
|
||||
"~/.config/hypr/monitors.conf"
|
||||
];
|
||||
exec-once = [
|
||||
"hyprpanel"
|
||||
"while ! hyprpaper-random; do sleep 0.5; done"
|
||||
"wl-paste --type text --watch cliphist store"
|
||||
"wl-paste --type image --watch cliphist store"
|
||||
"vibetyper"
|
||||
];
|
||||
|
||||
@@ -28,12 +29,14 @@ in {
|
||||
"XCURSOR_SIZE,32"
|
||||
"HYPRCURSOR_THEME,Bibata-Modern-Ice"
|
||||
"WLR_NO_HARDWARE_CURSORS,1"
|
||||
"GTK_THEME,Dracula"
|
||||
"XDG_CURRENT_DESKTOP,Hyprland"
|
||||
"XDG_SESSION_TYPE,wayland"
|
||||
"XDG_SESSION_DESKTOP,Hyprland"
|
||||
"XKB_DEFAULT_LAYOUT,de"
|
||||
"NIXOS_OZONE_WL,1"
|
||||
"QT_QPA_PLATFORM,wayland;xcb"
|
||||
"QT_QPA_PLATFORMTHEME,gtk3"
|
||||
"QT_QPA_PLATFORMTHEME_QT6,gtk3"
|
||||
];
|
||||
|
||||
input = {
|
||||
@@ -49,8 +52,6 @@ in {
|
||||
gaps_in = 5;
|
||||
gaps_out = 5;
|
||||
border_size = 1;
|
||||
"col.active_border" = "rgba(9742b5ee) rgba(9742b5ee) 45deg";
|
||||
"col.inactive_border" = "rgba(${config.colorScheme.palette.base03}aa)";
|
||||
layout = "dwindle";
|
||||
};
|
||||
|
||||
@@ -59,7 +60,7 @@ in {
|
||||
enabled = true;
|
||||
range = 60;
|
||||
render_power = 3;
|
||||
color = "rgba(${config.colorScheme.palette.base00}66)";
|
||||
# color = "rgba(${config.colorScheme.palette.base00}66)";
|
||||
offset = "1 2";
|
||||
scale = 0.97;
|
||||
};
|
||||
@@ -87,7 +88,7 @@ in {
|
||||
};
|
||||
|
||||
dwindle = {
|
||||
pseudotile = true;
|
||||
# pseudotile = true; # TODO
|
||||
preserve_split = true;
|
||||
};
|
||||
|
||||
@@ -96,10 +97,6 @@ in {
|
||||
};
|
||||
|
||||
device = [
|
||||
{
|
||||
name = "epic-mouse-v1";
|
||||
sensitivity = -0.5;
|
||||
}
|
||||
{
|
||||
name = "zsa-technology-labs-moonlander-mark-i";
|
||||
kb_layout = "us";
|
||||
@@ -165,21 +162,21 @@ in {
|
||||
"$mainMod, r, exec, hyprctl dispatch focuswindow \"initialtitle:.*alert-box.*\" && hyprctl dispatch moveactive exact 4300 102 && hyprctl dispatch focuswindow \"initialtitle:.*chat-box.*\" && hyprctl dispatch moveactive exact 4300 512"
|
||||
"$mainMod, b, exec, uwsm app -- thunar"
|
||||
"$mainMod SHIFT, B, exec, uwsm app -- vivaldi"
|
||||
"$mainMod, Escape, exec, uwsm app -- wlogout -p layer-shell"
|
||||
"$mainMod, Space, togglefloating"
|
||||
"$mainMod, Escape, exec, uwsm app -- dms ipc call powermenu toggle"
|
||||
# "$mainMod, Space, togglefloating"
|
||||
"$mainMod, q, killactive"
|
||||
"$mainMod, M, exit"
|
||||
"$mainMod, F, fullscreen"
|
||||
"$mainMod SHIFT, V, togglefloating"
|
||||
"$mainMod, D, exec, uwsm app -- rofi -show drun -run-command \"uwsm app -- {cmd}\""
|
||||
"$mainMod, V, exec, uwsm app -- cliphist list | rofi -dmenu | cliphist decode | wl-copy"
|
||||
"$mainMod, D, exec, uwsm app -- dms ipc call spotlight toggle"
|
||||
"$mainMod, V, exec, uwsm app -- dms ipc call clipboard toggle"
|
||||
"$mainMod, C, exec, bash -c 'FILE=/tmp/screenshot_$(date +%s).png; grim -g \"$(slurp)\" \"$FILE\" && ksnip \"$FILE\"'"
|
||||
"$mainMod SHIFT, S, exec, uwsm app -- rofi -show emoji"
|
||||
"$mainMod, P, exec, uwsm app -- rofi-pass"
|
||||
"$mainMod SHIFT, P, pseudo"
|
||||
"$mainMod, R, exec, stt-ptt start"
|
||||
"$mainMod, S, exec, stt-ptt start"
|
||||
"$mainMod, J, togglesplit"
|
||||
# "$mainMod, J, togglesplit" # TODO
|
||||
"$mainMod, h, movefocus, l"
|
||||
"$mainMod, l, movefocus, r"
|
||||
"$mainMod, k, movefocus, u"
|
||||
@@ -209,8 +206,6 @@ in {
|
||||
];
|
||||
|
||||
bindr = [
|
||||
"$mainMod, R, exec, stt-ptt stop"
|
||||
"$mainMod, S, exec, stt-ptt format-stop"
|
||||
];
|
||||
|
||||
bindm = [
|
||||
@@ -220,99 +215,99 @@ in {
|
||||
};
|
||||
};
|
||||
|
||||
services.hypridle = {
|
||||
enable = true;
|
||||
settings = {
|
||||
general = {
|
||||
before_sleep_cmd = "hyprlock";
|
||||
after_sleep_cmd = "hyprctl dispatch dpms on";
|
||||
inhibit_sleep = 3;
|
||||
};
|
||||
listener = [
|
||||
{
|
||||
timeout = 300;
|
||||
on-timeout = "hyprlock";
|
||||
}
|
||||
{
|
||||
timeout = 420;
|
||||
on-timeout = "hyprctl dispatch dpms off";
|
||||
on-resume = "hyprctl dispatch dpms on";
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
# services.hypridle = {
|
||||
# enable = true;
|
||||
# settings = {
|
||||
# general = {
|
||||
# before_sleep_cmd = "hyprlock";
|
||||
# after_sleep_cmd = "hyprctl dispatch dpms on";
|
||||
# inhibit_sleep = 3;
|
||||
# };
|
||||
# listener = [
|
||||
# {
|
||||
# timeout = 300;
|
||||
# on-timeout = "hyprlock";
|
||||
# }
|
||||
# {
|
||||
# timeout = 420;
|
||||
# on-timeout = "hyprctl dispatch dpms off";
|
||||
# on-resume = "hyprctl dispatch dpms on";
|
||||
# }
|
||||
# ];
|
||||
# };
|
||||
# };
|
||||
|
||||
services.hyprpaper.enable = true;
|
||||
# services.hyprpaper.enable = true;
|
||||
|
||||
programs.hyprlock = {
|
||||
enable = true;
|
||||
settings = {
|
||||
"$font" = "JetBrainsMono Nerd Font";
|
||||
"$base" = "rgb(${config.colorScheme.palette.base00})";
|
||||
"$text" = "rgb(${config.colorScheme.palette.base05})";
|
||||
"$textAlpha" = "${config.colorScheme.palette.base05}";
|
||||
"$accentAlpha" = "${config.colorScheme.palette.base0D}";
|
||||
"$red" = "rgb(${config.colorScheme.palette.base08})";
|
||||
"$yellow" = "rgb(${config.colorScheme.palette.base0A})";
|
||||
# programs.hyprlock = {
|
||||
# enable = true;
|
||||
# settings = {
|
||||
# "$font" = "JetBrainsMono Nerd Font";
|
||||
# "$base" = "rgb(${config.colorScheme.palette.base00})";
|
||||
# "$text" = "rgb(${config.colorScheme.palette.base05})";
|
||||
# "$textAlpha" = "${config.colorScheme.palette.base05}";
|
||||
# "$accentAlpha" = "${config.colorScheme.palette.base0D}";
|
||||
# "$red" = "rgb(${config.colorScheme.palette.base08})";
|
||||
# "$yellow" = "rgb(${config.colorScheme.palette.base0A})";
|
||||
|
||||
general = {
|
||||
hide_cursor = true;
|
||||
};
|
||||
# general = {
|
||||
# hide_cursor = true;
|
||||
# };
|
||||
|
||||
background = {
|
||||
monitor = "";
|
||||
path = "${config.home.homeDirectory}/.config/hypr/wallpapers/wallhaven-lmmo8r.jpg";
|
||||
blur_passes = 0;
|
||||
color = "rgb(${config.colorScheme.palette.base00})";
|
||||
};
|
||||
# background = {
|
||||
# monitor = "";
|
||||
# path = "${config.home.homeDirectory}/.config/hypr/wallpapers/wallhaven-lmmo8r.jpg";
|
||||
# blur_passes = 0;
|
||||
# color = "rgb(${config.colorScheme.palette.base00})";
|
||||
# };
|
||||
|
||||
label = [
|
||||
{
|
||||
monitor = "";
|
||||
text = "$TIME";
|
||||
color = "$text";
|
||||
font_size = 90;
|
||||
font_family = "$font";
|
||||
position = "30, 0";
|
||||
halign = "left";
|
||||
valign = "top";
|
||||
}
|
||||
{
|
||||
monitor = "";
|
||||
text = ''cmd[update:43200000] echo "$(date +"%A, %d %B %Y")"'';
|
||||
color = "$text";
|
||||
font_size = 25;
|
||||
font_family = "$font";
|
||||
position = "30, -150";
|
||||
halign = "left";
|
||||
valign = "top";
|
||||
}
|
||||
];
|
||||
# label = [
|
||||
# {
|
||||
# monitor = "";
|
||||
# text = "$TIME";
|
||||
# color = "$text";
|
||||
# font_size = 90;
|
||||
# font_family = "$font";
|
||||
# position = "30, 0";
|
||||
# halign = "left";
|
||||
# valign = "top";
|
||||
# }
|
||||
# {
|
||||
# monitor = "";
|
||||
# text = ''cmd[update:43200000] echo "$(date +"%A, %d %B %Y")"'';
|
||||
# color = "$text";
|
||||
# font_size = 25;
|
||||
# font_family = "$font";
|
||||
# position = "30, -150";
|
||||
# halign = "left";
|
||||
# valign = "top";
|
||||
# }
|
||||
# ];
|
||||
|
||||
input-field = [
|
||||
{
|
||||
monitor = "";
|
||||
size = "300, 60";
|
||||
outline_thickness = 4;
|
||||
dots_size = 0.2;
|
||||
dots_spacing = 0.2;
|
||||
dots_center = true;
|
||||
outer_color = "rgb(${config.colorScheme.palette.base0D})";
|
||||
inner_color = "rgb(${config.colorScheme.palette.base00})";
|
||||
font_color = "rgb(${config.colorScheme.palette.base05})";
|
||||
fade_on_empty = false;
|
||||
placeholder_text = ''<span foreground="##${config.colorScheme.palette.base05}"> Logged in as <span foreground="##${config.colorScheme.palette.base0D}">$USER</span></span>'';
|
||||
hide_input = false;
|
||||
check_color = "rgb(${config.colorScheme.palette.base0D})";
|
||||
fail_color = "rgb(${config.colorScheme.palette.base08})";
|
||||
fail_text = ''<i>$FAIL <b>($ATTEMPTS)</b></i>'';
|
||||
capslock_color = "rgb(${config.colorScheme.palette.base0A})";
|
||||
position = "0, -35";
|
||||
halign = "center";
|
||||
valign = "center";
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
# input-field = [
|
||||
# {
|
||||
# monitor = "";
|
||||
# size = "300, 60";
|
||||
# outline_thickness = 4;
|
||||
# dots_size = 0.2;
|
||||
# dots_spacing = 0.2;
|
||||
# dots_center = true;
|
||||
# outer_color = "rgb(${config.colorScheme.palette.base0D})";
|
||||
# inner_color = "rgb(${config.colorScheme.palette.base00})";
|
||||
# font_color = "rgb(${config.colorScheme.palette.base05})";
|
||||
# fade_on_empty = false;
|
||||
# placeholder_text = ''<span foreground="##${config.colorScheme.palette.base05}"> Logged in as <span foreground="##${config.colorScheme.palette.base0D}">$USER</span></span>'';
|
||||
# hide_input = false;
|
||||
# check_color = "rgb(${config.colorScheme.palette.base0D})";
|
||||
# fail_color = "rgb(${config.colorScheme.palette.base08})";
|
||||
# fail_text = ''<i>$FAIL <b>($ATTEMPTS)</b></i>'';
|
||||
# capslock_color = "rgb(${config.colorScheme.palette.base0A})";
|
||||
# position = "0, -35";
|
||||
# halign = "center";
|
||||
# valign = "center";
|
||||
# }
|
||||
# ];
|
||||
# };
|
||||
# };
|
||||
};
|
||||
}
|
||||
|
||||
@@ -0,0 +1,36 @@
|
||||
{config, ...}: {
|
||||
programs.agent-lib = {
|
||||
enable = true;
|
||||
lockFile = config."m3ta-home".paths.srcRoot + "/agent-sources.lock.json";
|
||||
|
||||
targets.pi.enable = true;
|
||||
targets.opencode.enable = true;
|
||||
|
||||
profiles.default = {
|
||||
sources = {
|
||||
m3ta-agents = {
|
||||
agents = {
|
||||
all = true;
|
||||
};
|
||||
skills = {
|
||||
all = true;
|
||||
exclude = ["brainstorming" "pdf" "systematic-debugging" "xlsx"];
|
||||
};
|
||||
};
|
||||
anthropic.skills = {
|
||||
all = true;
|
||||
exclude = ["skill-creator"];
|
||||
};
|
||||
basecamp.skills.all = true;
|
||||
kestra.skills.all = true;
|
||||
mattpocock.skills = {
|
||||
all = true;
|
||||
};
|
||||
superpowers.skills = {
|
||||
all = true;
|
||||
};
|
||||
vercel.skills.all = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -19,24 +19,14 @@
|
||||
};
|
||||
|
||||
imports = [
|
||||
# OpenCode and Pi agent configurations
|
||||
# OpenCode, Pi, and Babysitter agent configurations
|
||||
./agents-lib.nix
|
||||
./babysitter.nix
|
||||
./opencode.nix
|
||||
./pi.nix
|
||||
];
|
||||
|
||||
coding.agents.skills = {
|
||||
agentsInput = inputs.agents;
|
||||
externalSkills = [
|
||||
{
|
||||
src = inputs.skills-anthropic;
|
||||
selectSkills = ["pdf" "docx" "frontend-design"];
|
||||
}
|
||||
{src = inputs.skills-superpowers;}
|
||||
{src = inputs.skills-vercel;}
|
||||
{src = inputs.skills-basecamp;}
|
||||
{src = inputs.skills-kestra;}
|
||||
];
|
||||
};
|
||||
coding.agents.babysitter.enable = true;
|
||||
|
||||
programs.mcp = {
|
||||
enable = true;
|
||||
|
||||
@@ -0,0 +1,142 @@
|
||||
# Babysitter user profile for Pi/agent workflows.
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
cfg = config.coding.agents.babysitter;
|
||||
defaultTimestamp = "2026-05-29T00:00:00.000Z";
|
||||
|
||||
defaultUserProfile = {
|
||||
name = config.home.username;
|
||||
specialties = [
|
||||
{
|
||||
domain = "declarative-system-configuration";
|
||||
subdomains = ["nix" "home-manager" "agents"];
|
||||
}
|
||||
];
|
||||
expertiseLevels = {};
|
||||
goals = [
|
||||
{
|
||||
id = "goal-agents-declarative-profile";
|
||||
description = "Keep Babysitter user preferences declarative and reproducible across systems.";
|
||||
category = "agents";
|
||||
priority = "medium";
|
||||
status = "active";
|
||||
}
|
||||
];
|
||||
preferences = {
|
||||
verbosity = "concise";
|
||||
autonomyLevel = "semi-autonomous";
|
||||
riskTolerance = "conservative";
|
||||
};
|
||||
toolPreferences = {
|
||||
packageManagers = ["nix"];
|
||||
languages = ["nix"];
|
||||
operatingSystem = "nixos";
|
||||
};
|
||||
breakpointTolerance = {
|
||||
global = "moderate";
|
||||
skipBreakpointsForKnownPatterns = false;
|
||||
alwaysBreakOn = ["destructive-operations" "secrets" "external-publication"];
|
||||
};
|
||||
communicationStyle = {
|
||||
tone = "technical";
|
||||
language = "en";
|
||||
useEmojis = false;
|
||||
explanationDepth = "brief";
|
||||
preferredResponseFormat = "markdown";
|
||||
};
|
||||
experience = {};
|
||||
installedPlugins = ["babysitter-pi"];
|
||||
installedSkills = ["babysit" "call" "plan" "resume" "doctor" "yolo"];
|
||||
installedAgents = [];
|
||||
createdAt = defaultTimestamp;
|
||||
updatedAt = defaultTimestamp;
|
||||
version = 1;
|
||||
};
|
||||
|
||||
effectiveProfile = lib.recursiveUpdate cfg.profile cfg.profileOverrides;
|
||||
profileJsonTarget = "${cfg.profileDirectory}/user-profile.json";
|
||||
profileMarkdownTarget = "${cfg.profileDirectory}/user-profile.md";
|
||||
profilePreferences = effectiveProfile.preferences or {};
|
||||
profileBreakpointTolerance = effectiveProfile.breakpointTolerance or {};
|
||||
|
||||
listMarkdown = values:
|
||||
lib.concatMapStringsSep "\n" (value: "- ${toString value}") values;
|
||||
|
||||
specialtyDomains = map (specialty: specialty.domain or "unspecified") (effectiveProfile.specialties or []);
|
||||
|
||||
profileMarkdown = ''
|
||||
# Babysitter User Profile
|
||||
|
||||
This file is generated by Home Manager from `coding.agents.babysitter`.
|
||||
|
||||
- Name: ${effectiveProfile.name or "unspecified"}
|
||||
- Breakpoint tolerance: ${profileBreakpointTolerance.global or "unspecified"}
|
||||
- Autonomy level: ${profilePreferences.autonomyLevel or "unspecified"}
|
||||
- Risk tolerance: ${profilePreferences.riskTolerance or "unspecified"}
|
||||
|
||||
## Specialties
|
||||
|
||||
${listMarkdown specialtyDomains}
|
||||
|
||||
## Installed Babysitter Pi Skills
|
||||
|
||||
${listMarkdown (effectiveProfile.installedSkills or [])}
|
||||
'';
|
||||
in {
|
||||
options.coding.agents.babysitter = {
|
||||
enable = lib.mkEnableOption "Babysitter user profile for Pi/agent workflows";
|
||||
|
||||
profileDirectory = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
default = ".a5c";
|
||||
description = ''
|
||||
Home-relative directory where Babysitter reads the user profile.
|
||||
Babysitter Pi documents the user profile at ~/.a5c/user-profile.json.
|
||||
'';
|
||||
};
|
||||
|
||||
profile = lib.mkOption {
|
||||
type = lib.types.attrsOf lib.types.anything;
|
||||
default = defaultUserProfile;
|
||||
description = "Complete non-secret Babysitter user profile JSON.";
|
||||
};
|
||||
|
||||
profileOverrides = lib.mkOption {
|
||||
type = lib.types.attrsOf lib.types.anything;
|
||||
default = {};
|
||||
description = ''
|
||||
Recursive overrides merged into the default Babysitter user profile.
|
||||
Keep this non-secret; the result is written into the Nix store.
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
assertions = [
|
||||
{
|
||||
assertion = cfg.profileDirectory != "" && !lib.hasPrefix "/" cfg.profileDirectory;
|
||||
message = "coding.agents.babysitter.profileDirectory must be a non-empty home-relative path.";
|
||||
}
|
||||
{
|
||||
assertion = effectiveProfile ? name && builtins.isString effectiveProfile.name;
|
||||
message = "coding.agents.babysitter profile must include a string name.";
|
||||
}
|
||||
{
|
||||
assertion = effectiveProfile ? specialties && builtins.isList effectiveProfile.specialties;
|
||||
message = "coding.agents.babysitter profile must include a specialties list.";
|
||||
}
|
||||
{
|
||||
assertion = effectiveProfile ? breakpointTolerance && effectiveProfile.breakpointTolerance ? global;
|
||||
message = "coding.agents.babysitter profile must include breakpointTolerance.global.";
|
||||
}
|
||||
];
|
||||
|
||||
home.file = {
|
||||
"${profileJsonTarget}".text = builtins.toJSON effectiveProfile + "\n";
|
||||
"${profileMarkdownTarget}".text = profileMarkdown;
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -1,13 +1,4 @@
|
||||
{
|
||||
inputs,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
coding.agents.opencode = {
|
||||
enable = true;
|
||||
agentsInput = inputs.agents;
|
||||
};
|
||||
|
||||
{lib, ...}: {
|
||||
coding.opencode = {
|
||||
enable = true;
|
||||
|
||||
|
||||
@@ -1,39 +1,11 @@
|
||||
{inputs, ...}: {
|
||||
{...}: {
|
||||
coding.agents.pi = {
|
||||
enable = true;
|
||||
agentsInput = inputs.agents;
|
||||
|
||||
modelOverrides = {
|
||||
chiron = "minimax/MiniMax-M2.7";
|
||||
chiron-forge = "minimax/MiniMax-M2.7";
|
||||
};
|
||||
|
||||
# Coding rules for Pi agent
|
||||
# Rules sourced from AGENTS repo
|
||||
codingRules = {
|
||||
# Language-specific rules
|
||||
languages = [
|
||||
"nix" # Nix language conventions
|
||||
];
|
||||
|
||||
# Standard concerns from AGENTS repo
|
||||
concerns = [
|
||||
"coding-style" # General coding principles
|
||||
"naming" # Naming conventions (camelCase, snake_case, etc.)
|
||||
"documentation" # Documentation standards
|
||||
"testing" # Testing guidelines (Arrange-Act-Assert)
|
||||
"git-workflow" # Conventional commits, branch naming
|
||||
"git-identity" # Git identity configuration for agents
|
||||
"project-structure" # Project layout conventions
|
||||
];
|
||||
|
||||
# No framework-specific rules for NixOS config
|
||||
frameworks = [];
|
||||
};
|
||||
|
||||
settings = {
|
||||
packages = [
|
||||
"npm:@dreadedzombie/pi-init"
|
||||
"git:github.com/a5c-ai/babysitter-pi"
|
||||
"npm:@plannotator/pi-extension"
|
||||
"npm:@thesethrose/pi-zai-provider"
|
||||
"npm:pi-agent-browser-native"
|
||||
@@ -49,8 +21,8 @@
|
||||
"git:github.com/hk-vk/pi-connect"
|
||||
];
|
||||
|
||||
defaultProvider = "minimax";
|
||||
defaultModel = "MiniMax-M2.7";
|
||||
defaultProvider = "openai-codex";
|
||||
defaultModel = "gpt-5.5";
|
||||
defaultThinkingLevel = "high";
|
||||
};
|
||||
|
||||
@@ -59,7 +31,7 @@
|
||||
# NOTE: Local project .pi/extensions/guardrails.json can override same rule IDs.
|
||||
# For immutable global policies, consider a wrapper or upstream patch.
|
||||
guardrails = {
|
||||
enable = true;
|
||||
enable = false;
|
||||
config = {
|
||||
enabled = true;
|
||||
applyBuiltinDefaults = true;
|
||||
|
||||
@@ -9,5 +9,6 @@
|
||||
jq
|
||||
ripgrep
|
||||
tree
|
||||
worktrunk
|
||||
];
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user