From 2449532b30a81c1dc537f849f91f5ce82188bb9a Mon Sep 17 00:00:00 2001 From: m3tm3re
Date: Fri, 23 Jan 2026 18:14:08 +0100
Subject: [PATCH] chore: update dependencies, add basecamp secrets, improve
desktop environment
- Update opencode to v1.1.34
- Add new opencode agents (Prometheus, Metis, Momus, Atlas) and categories
- Switch m3ta-nixpkgs back to local path
- Add basecamp client credentials for m3-ares and m3-kratos
- Set NIXOS_OZONE_WL=1 for better Wayland app support in Hyprland
- Remove redundant wrl.enable from flatpak portal config
---
flake.lock | 18 ++++-----
flake.nix | 4 +-
home/features/coding/opencode.nix | 51 +++++++++++++++++++++++++
home/features/desktop/hyprland.nix | 1 +
hosts/common/extraServices/flatpak.nix | 1 -
hosts/m3-ares/secrets.nix | 8 ++++
hosts/m3-kratos/secrets.nix | 12 ++++--
secrets.nix | 2 +
secrets/basecamp-client-id.age | Bin 0 -> 1122 bytes
secrets/basecamp-client-secret.age | 21 ++++++++++
10 files changed, 103 insertions(+), 15 deletions(-)
create mode 100644 secrets/basecamp-client-id.age
create mode 100644 secrets/basecamp-client-secret.age
diff --git a/flake.lock b/flake.lock
index 0afdd28..7671524 100644
--- a/flake.lock
+++ b/flake.lock
@@ -244,8 +244,8 @@
"opencode": "opencode"
},
"locked": {
- "lastModified": 1768931358,
- "narHash": "sha256-IXEV3D4xK4SxhcwFQVjObdAeKkuJy+e54mFgpfuTLK8=",
+ "lastModified": 1769186400,
+ "narHash": "sha256-9e9yvKJPufg0mTroH+vUUzxp+eX1tvy5QLSzKSw6uLI=",
"path": "/home/m3tam3re/p/NIX/nixpkgs",
"type": "path"
},
@@ -452,11 +452,11 @@
},
"nixpkgs_4": {
"locked": {
- "lastModified": 1768569498,
- "narHash": "sha256-bB6Nt99Cj8Nu5nIUq0GLmpiErIT5KFshMQJGMZwgqUo=",
+ "lastModified": 1768393167,
+ "narHash": "sha256-n2063BRjHde6DqAz2zavhOOiLUwA3qXt7jQYHyETjX8=",
"owner": "NixOS",
"repo": "nixpkgs",
- "rev": "be5afa0fcb31f0a96bf9ecba05a516c66fcd8114",
+ "rev": "2f594d5af95d4fdac67fba60376ec11e482041cb",
"type": "github"
},
"original": {
@@ -540,16 +540,16 @@
"nixpkgs": "nixpkgs_4"
},
"locked": {
- "lastModified": 1768911228,
- "narHash": "sha256-iJ4WLNyP9i8baxp1FJJLv2VBD3XcE8nCruwO3GmSmK4=",
+ "lastModified": 1769153255,
+ "narHash": "sha256-ardM8zEJWvTvsFMQZWivjGPB2uIqFw6QPAzrRjAHQKY=",
"owner": "anomalyco",
"repo": "opencode",
- "rev": "e521fee0023a604bb6d5ef39b4b892cbf1a0f9d4",
+ "rev": "c130dd425a32fe1c1cd3747ea6565b0e6bf50100",
"type": "github"
},
"original": {
"owner": "anomalyco",
- "ref": "v1.1.27",
+ "ref": "v1.1.34",
"repo": "opencode",
"type": "github"
}
diff --git a/flake.nix b/flake.nix
index 8934457..a46386d 100644
--- a/flake.nix
+++ b/flake.nix
@@ -22,8 +22,8 @@
nixpkgs-9e58ed7.url = "github:nixos/nixpkgs/9e58ed7ba759d81c98f033b7f5eba21ca68f53b0";
nixpkgs-master.url = "github:nixos/nixpkgs/master";
- # m3ta-nixpkgs.url = "git+https://code.m3ta.dev/m3tam3re/nixpkgs";
- m3ta-nixpkgs.url = "path:/home/m3tam3re/p/NIX/nixpkgs";
+ m3ta-nixpkgs.url = "git+https://code.m3ta.dev/m3tam3re/nixpkgs";
+ # m3ta-nixpkgs.url = "path:/home/m3tam3re/p/NIX/nixpkgs";
#
nur = {
url = "github:nix-community/NUR";
diff --git a/home/features/coding/opencode.nix b/home/features/coding/opencode.nix
index 0f02a47..5ea4985 100644
--- a/home/features/coding/opencode.nix
+++ b/home/features/coding/opencode.nix
@@ -319,6 +319,57 @@
bash = "deny";
};
};
+ "Prometheus (Planner)" = {
+ model = "zai-coding-plan/glm-4.7";
+ permission = {
+ edit = "deny";
+ bash = "allow";
+ };
+ };
+ "Metis (Plan Consultant)" = {
+ model = "zai-coding-plan/glm-4.7";
+ permission = {
+ edit = "deny";
+ bash = "allow";
+ };
+ };
+ "Momus (Plan Reviewer)" = {
+ model = "zai-coding-plan/glm-4.7";
+ permission = {
+ edit = "deny";
+ bash = "allow";
+ };
+ };
+ "Atlas" = {
+ model = "zai-coding-plan/glm-4.7";
+ permission = {
+ edit = "deny";
+ bash = "allow";
+ };
+ };
+ };
+ "categories" = {
+ "visual-engineering" = {
+ "model" = "zai-coding-plan/glm-4.7";
+ };
+ "ultrabrain" = {
+ "model" = "zai-coding-plan/glm-4.7";
+ };
+ "artistry" = {
+ "model" = "zai-coding-plan/glm-4.7";
+ };
+ "quick" = {
+ "model" = "zai-coding-plan/glm-4.5-ai";
+ };
+ "unspecified-low" = {
+ "model" = "zai-coding-plan/glm-4.7";
+ };
+ "unspecified-high" = {
+ "model" = "zai-coding-plan/glm-4.7";
+ };
+ "writing" = {
+ "model" = "zai-coding-plan/glm-4.7";
+ };
};
disabled_mcps = ["context7" "websearch"];
};
diff --git a/home/features/desktop/hyprland.nix b/home/features/desktop/hyprland.nix
index 5a9a523..03292ab 100644
--- a/home/features/desktop/hyprland.nix
+++ b/home/features/desktop/hyprland.nix
@@ -31,6 +31,7 @@ in {
"XDG_CURRENT_DESKTOP,Hyprland"
"XDG_SESSION_TYPE,wayland"
"XDG_SESSION_DESKTOP,Hyprland"
+ "NIXOS_OZONE_WL,1"
];
input = {
diff --git a/hosts/common/extraServices/flatpak.nix b/hosts/common/extraServices/flatpak.nix
index 700a01b..140c71e 100644
--- a/hosts/common/extraServices/flatpak.nix
+++ b/hosts/common/extraServices/flatpak.nix
@@ -14,7 +14,6 @@ in {
xdg.portal = {
# xdg desktop intergration (required for flatpak)
enable = true;
- wlr.enable = true;
extraPortals = with pkgs; [
xdg-desktop-portal-hyprland
];
diff --git a/hosts/m3-ares/secrets.nix b/hosts/m3-ares/secrets.nix
index 8d9e028..8079cb1 100644
--- a/hosts/m3-ares/secrets.nix
+++ b/hosts/m3-ares/secrets.nix
@@ -33,6 +33,14 @@
file = ../../secrets/exa-key.age;
owner = "m3tam3re";
};
+ basecamp-client-id = {
+ file = ../../secrets/basecamp-client-id.age;
+ owner = "m3tam3re";
+ };
+ basecamp-client-secret = {
+ file = ../../secrets/basecamp-client-secret.age;
+ owner = "m3tam3re";
+ };
tailscale-key.file = ../../secrets/tailscale-key.age;
m3tam3re-secrets = {
file = ../../secrets/m3tam3re-secrets.age;
diff --git a/hosts/m3-kratos/secrets.nix b/hosts/m3-kratos/secrets.nix
index 949aeae..d1de284 100644
--- a/hosts/m3-kratos/secrets.nix
+++ b/hosts/m3-kratos/secrets.nix
@@ -5,9 +5,7 @@
file = ../../secrets/anytype-key.age;
owner = "m3tam3re";
};
- tailscale-key = {
- file = ../../secrets/tailscale-key.age;
- };
+ tailscale-key = { file = ../../secrets/tailscale-key.age; };
wg-DE = {
file = ../../secrets/wg-DE.age;
path = "/etc/wireguard/DE.conf";
@@ -40,6 +38,14 @@
file = ../../secrets/exa-key.age;
owner = "m3tam3re";
};
+ basecamp-client-id = {
+ file = ../../secrets/basecamp-client-id.age;
+ owner = "m3tam3re";
+ };
+ basecamp-client-secret = {
+ file = ../../secrets/basecamp-client-secret.age;
+ owner = "m3tam3re";
+ };
};
};
}
diff --git a/secrets.nix b/secrets.nix
index 380562a..e0daecc 100644
--- a/secrets.nix
+++ b/secrets.nix
@@ -29,6 +29,8 @@ in {
"secrets/paperless-key.age".publicKeys = systems ++ users;
"secrets/ref-key.age".publicKeys = systems ++ users;
"secrets/exa-key.age".publicKeys = systems ++ users;
+ "secrets/basecamp-client-id.age".publicKeys = systems ++ users;
+ "secrets/basecamp-client-secret.age".publicKeys = systems ++ users;
"secrets/gitea-runner-token.age".publicKeys = systems ++ users;
"secrets/restreamer-env.age".publicKeys = systems ++ users;
"secrets/searx.age".publicKeys = systems ++ users;
diff --git a/secrets/basecamp-client-id.age b/secrets/basecamp-client-id.age
new file mode 100644
index 0000000000000000000000000000000000000000..828d50b8a94876da88ed540c9cd947130dbf62cd
GIT binary patch
literal 1122
zcmYdHPt{G$OD?J`D9Oyv)5|YP*Do{V(zR14F3!+RO))YxHMCSP@$>O6Dp$yf$f`28
z2#9cZHLJ2nbTW#F46HD>)UGl#Fv}_^3JNPobx$qLH_S*fj^wH=N_5S0G0)3Mc1}wU
zaW?jeD$On}D@``HEcc6YPOK{Najgu_boVLocSN_%G`l>x*ipf>JTTKeOW!ahpe)C?
z(ks8*(=9B*B{AJ4**7~gB{3k=*}|