Author SHA1 Message Date
m3ta-chiron 7febc62f50 refactor: resolve nushell secrets path dynamically via config.home.username
Replace hardcoded 'm3tam3re-secrets' with '${config.home.username}-secrets'
so the agenix secret file resolves automatically for any user
(m3tam3re, sascha.koenig, bob, etc.).
2026-07-02 19:07:29 +02:00
m3ta-chiron 6c9d082e41 Merge branch 'master' of code.m3ta.dev:m3tam3re/m3ta-home 2026-06-30 07:22:37 +02:00
m3ta-chiron a42c196840 chore: update agent sources 2026-06-30 07:22:27 +02:00
m3tam3re 9cd60383f8 fix: vibetyper hyprland setting 2026-06-20 10:58:22 +02:00
m3tam3re 6be0ad4ea0 fix: remove deprecated matchBlocks from work profile 2026-06-20 10:51:46 +02:00
m3tam3re 0ae4996d97 chore: vibetyper rec indicator 2026-06-20 08:34:18 +02:00
m3tam3re aa249c1f31 chore: moonlander keyboard layout 2026-06-19 11:29:02 +02:00
m3tam3re 413a7d123e chore: moonlander keyboard layout 2026-06-19 06:56:48 +02:00
m3ta-chiron 57c467ef11 chore: fix opus 4.8 thinking 2026-06-15 13:01:07 +02:00
m3ta-chiron fbcf8f65e6 chore: fix opus 4.8 thinking 2026-06-15 12:59:17 +02:00
m3ta-chiron ef78590a6a chore: opus 4.8 2026-06-15 12:46:09 +02:00
m3ta-chiron 39cc27fd72 chore: hyprland monitor config import from dms 2026-06-15 11:00:32 +02:00
m3ta-chiron fe88684d9d chore: move openwork into agent context 2026-06-15 07:39:27 +02:00
m3ta-chiron 4b4221da30 fix: resolve flake lock conflict markers 2026-06-15 07:22:07 +02:00
8 changed files with 131 additions and 89 deletions
+24 -2
View File
@@ -555,6 +555,17 @@
}, },
"path": "skills/excalidraw" "path": "skills/excalidraw"
}, },
"m3ta-brain": {
"entry": "skills/m3ta-brain/SKILL.md",
"licenseFiles": [],
"metadata": {
"description": "Shared Obsidian vault for human-agent collaboration. Use when: (1) Loading project context at session start (auto-recall), (2) Writing session summaries, decisions, project updates, or learning notes, (3) Searching for past decisions or project state, (4) Running nightly/weekly digest passes, (5) Creating or updating person profiles, (6) Any reference to 'the vault', 'shared brain', 'our context', 'what did we decide'. Triggers: m3ta-brain, shared brain, vault, session summary, decision note, project update, memory candidate, brain vault, auto-recall, digest, nightly pass.",
"name": "m3ta-brain",
"requires": [],
"tags": []
},
"path": "skills/m3ta-brain"
},
"mem0-memory": { "mem0-memory": {
"entry": "skills/mem0-memory/SKILL.md", "entry": "skills/mem0-memory/SKILL.md",
"licenseFiles": [], "licenseFiles": [],
@@ -643,6 +654,17 @@
}, },
"path": "skills/reflection" "path": "skills/reflection"
}, },
"shared-brain-vault": {
"entry": "skills/shared-brain-vault/SKILL.md",
"licenseFiles": [],
"metadata": {
"description": "Build and maintain a Git-synced Obsidian vault as shared working memory between user and AI agents. Use when: (1) Writing session summaries or project updates, (2) Recording decisions or learnings, (3) Adding people/profiles to the vault, (4) Populating or restructuring the vault, (5) Setting up multi-agent vault access, (6) Answering 'what did we decide' or 'where do we stand on X'. Triggers: 'shared brain', 'm3ta-brain', 'session summary', 'vault update', 'decision note', 'project status', 'what did we decide'.",
"name": "shared-brain-vault",
"requires": [],
"tags": []
},
"path": "skills/shared-brain-vault"
},
"skill-creator": { "skill-creator": {
"entry": "skills/skill-creator/SKILL.md", "entry": "skills/skill-creator/SKILL.md",
"licenseFiles": [], "licenseFiles": [],
@@ -679,9 +701,9 @@
}, },
"tools": {} "tools": {}
}, },
"narHash": "sha256:640f5c15e9124526564a5438952c3231d9fa3cbab6a4e6b1cecdf4cd280c7847", "narHash": "sha256:632df1722f82091772f12e9ec51bbf9e823a4a88bd1ce9d093d80901242861fe",
"ref": null, "ref": null,
"rev": "920c00313ae242bd93275c30131b9ab1e52ee2fb", "rev": "cd36a91440b971582fcf2d4eedf9a46fb755f6e1",
"root": ".", "root": ".",
"type": "git", "type": "git",
"url": "https://code.m3ta.dev/m3tam3re/AGENTS", "url": "https://code.m3ta.dev/m3tam3re/AGENTS",
Generated
+32 -48
View File
@@ -46,11 +46,11 @@
"nixpkgs": "nixpkgs_2" "nixpkgs": "nixpkgs_2"
}, },
"locked": { "locked": {
"lastModified": 1780133320, "lastModified": 1782789853,
"narHash": "sha256-8AiN9tV9PBb5xblJiPlhumBbKj61qLjzqXXFtkj3vvY=", "narHash": "sha256-LEmctqYRQRq0wB1MoS+IVr/0/uu/0nKahqNeJBGTjJ8=",
"ref": "refs/heads/master", "ref": "refs/heads/master",
"rev": "920c00313ae242bd93275c30131b9ab1e52ee2fb", "rev": "cd36a91440b971582fcf2d4eedf9a46fb755f6e1",
"revCount": 88, "revCount": 92,
"type": "git", "type": "git",
"url": "ssh://gitea@code.m3ta.dev/m3tam3re/AGENTS" "url": "ssh://gitea@code.m3ta.dev/m3tam3re/AGENTS"
}, },
@@ -164,11 +164,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1781317940, "lastModified": 1782780764,
"narHash": "sha256-uMVOhV6pVPgm2hn1WGEbIcJRWjnsyWKy8PHCUn0++iI=", "narHash": "sha256-Q2wPFsuDo1y6neZ3ttxxOOItupg/4+mPkyAZbC0+wfw=",
"owner": "AvengeMedia", "owner": "AvengeMedia",
"repo": "dms-plugin-registry", "repo": "dms-plugin-registry",
"rev": "4ab59f3da3df33bf106045b856db8de875cc42c6", "rev": "9fa716427ab5905845b2a10a01d67bee0b1e4c4b",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -231,11 +231,11 @@
"uv2nix": "uv2nix_2" "uv2nix": "uv2nix_2"
}, },
"locked": { "locked": {
"lastModified": 1781346807, "lastModified": 1782794050,
"narHash": "sha256-ytT4ojx0qFW4b/oYeW+MkmaA3b/BZ9pqkPmpAg8j1gg=", "narHash": "sha256-+qKEwIhTkml3DNSmIvGFJyssW9ZXTp78KGclFdcDvX8=",
"owner": "NousResearch", "owner": "NousResearch",
"repo": "hermes-agent", "repo": "hermes-agent",
"rev": "2a5dc0ef3df433a36abed9ee544ea067d807c438", "rev": "972b1620906a1b80772c2f67492ad50b3c83f048",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -272,11 +272,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1781305496, "lastModified": 1782749631,
"narHash": "sha256-g8Vv4Qfc7n+lgov97REu3X6BeJtvYY0hlSUZR1GrGQQ=", "narHash": "sha256-slFTUgDy0KTPA4LBAmC/9SngDq8GCPdX+ZR0yQHHN1E=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "c87a39aa979acc4848016d2220c6238390d84779", "rev": "5d72a29fc36ac21adae6ae35568fe5ee6700850f",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -296,27 +296,11 @@
"openspec": "openspec" "openspec": "openspec"
}, },
"locked": { "locked": {
<<<<<<< HEAD "lastModified": 1782541692,
"lastModified": 1781500279, "narHash": "sha256-gCWM240hAkKQqZrq7I4+1g9cSo0JZ08l6XFHzyNxohk=",
"narHash": "sha256-810qVHwu6jVhu01FWj9dXuruK84Gw2smAlbu6FPBfeY=",
||||||| cd80ded
"lastModified": 1779944037,
"narHash": "sha256-jO6zAJjgc9n3SeDJW1EbV6CEqOa9DK+2AhTgWc+ImHQ=",
=======
"lastModified": 1781153970,
"narHash": "sha256-OtC89zreW6Api7wpF5u76Jvkn8uQJiM+0yFFn/r+rj8=",
>>>>>>> d1494476b864173592c6dc4a1f0645189cdca192
"ref": "refs/heads/master", "ref": "refs/heads/master",
<<<<<<< HEAD "rev": "d42a6f57f534965f9e39056ef3385c523c9671f6",
"rev": "050c273c65b36dc03c34a7547d80e88afff5ac48", "revCount": 332,
"revCount": 327,
||||||| cd80ded
"rev": "ae1fb97c21b311dc03a46e8d50867048e5568c88",
"revCount": 323,
=======
"rev": "8fae0726a53ecabb04f4a0931a17a25de6a05fbf",
"revCount": 324,
>>>>>>> d1494476b864173592c6dc4a1f0645189cdca192
"type": "git", "type": "git",
"url": "ssh://gitea@code.m3ta.dev/m3tam3re/nixpkgs" "url": "ssh://gitea@code.m3ta.dev/m3tam3re/nixpkgs"
}, },
@@ -377,11 +361,11 @@
}, },
"nixpkgs-master": { "nixpkgs-master": {
"locked": { "locked": {
"lastModified": 1781153468, "lastModified": 1782540244,
"narHash": "sha256-ZBRmjFtJn/XmHBV230OSabKQqxOoOJunJmBtSt1sLs0=", "narHash": "sha256-3skOZJEfAUG7LSB/Ok2AQUiqeagYLSq+8wKjtS1hOyc=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "cd265fd6b43f2ec1257c2e400f648895d2ad7ccd", "rev": "a65184fc373636356fcaf460dc09655a919c66ea",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -409,11 +393,11 @@
}, },
"nixpkgs_3": { "nixpkgs_3": {
"locked": { "locked": {
"lastModified": 1781074563, "lastModified": 1782723713,
"narHash": "sha256-md8WlXOlfnIeHeOScMTTHFyf2d6iaTwPl2apR5EQ3P4=", "narHash": "sha256-oPXCU/SSUokcGaJREHibG1CBX3+s/W7orDWQOZDsEeQ=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "9ae611a455b90cf061d8f332b977e387bda8e1ca", "rev": "b5aa0fbd538984f6e3d201be0005b4463d8b09f8",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -425,11 +409,11 @@
}, },
"nixpkgs_4": { "nixpkgs_4": {
"locked": { "locked": {
"lastModified": 1781074563, "lastModified": 1782723713,
"narHash": "sha256-md8WlXOlfnIeHeOScMTTHFyf2d6iaTwPl2apR5EQ3P4=", "narHash": "sha256-oPXCU/SSUokcGaJREHibG1CBX3+s/W7orDWQOZDsEeQ=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "9ae611a455b90cf061d8f332b977e387bda8e1ca", "rev": "b5aa0fbd538984f6e3d201be0005b4463d8b09f8",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -466,11 +450,11 @@
"nixpkgs": "nixpkgs_4" "nixpkgs": "nixpkgs_4"
}, },
"locked": { "locked": {
"lastModified": 1781346642, "lastModified": 1782796354,
"narHash": "sha256-o92OOSMAB08HQgG7pW2BZVIO53Pkv4oAjLk4Iol3Iko=", "narHash": "sha256-zHZEX+twYRO4n369Nrk21DBb519JZCGJLHBo/trhHO0=",
"owner": "nix-community", "owner": "nix-community",
"repo": "NUR", "repo": "NUR",
"rev": "6e4e8d731fbb3831296607d5f88de727cf7bf6de", "rev": "df4f4323fe161a8bab3aafa2d067ff9d7e223a67",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -487,11 +471,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1780479100, "lastModified": 1782291243,
"narHash": "sha256-VZZ/ukjciXqiebwei2JizyOnxx0T3IeoowFWElKec4o=", "narHash": "sha256-0pVn5pDqlKpqSgzf4eG9TFCjkjzOtnmGTpbILso7GwI=",
"owner": "Fission-AI", "owner": "Fission-AI",
"repo": "OpenSpec", "repo": "OpenSpec",
"rev": "1b06fddd59d8e592d5b5794a1970b22867e85b1f", "rev": "737518b36fe4b6fdb09c83eeaf8d873a428c92e6",
"type": "github" "type": "github"
}, },
"original": { "original": {
+7 -4
View File
@@ -6,6 +6,8 @@
}: }:
with lib; let with lib; let
cfg = config.base.shell.nushell; cfg = config.base.shell.nushell;
# User-specific secrets file from agenix, resolved at build time.
secretsFile = "/run/agenix/${config.home.username}-secrets";
in { in {
# Enabled by default — base modules are always-on. # Enabled by default — base modules are always-on.
options.base.shell.nushell.enable = (mkEnableOption "enable nushell") // {default = true;}; options.base.shell.nushell.enable = (mkEnableOption "enable nushell") // {default = true;};
@@ -42,15 +44,16 @@ in {
| load-env | load-env
} }
# Load m3tam3re secrets from agenix. The secret file is Nushell code # Load user-specific secrets from agenix. The secret file is Nushell code
# containing a `load-env { ... }` block, not KEY=VALUE lines. # containing a `load-env { ... }` block, not KEY=VALUE lines.
# `source` resolves literal paths at parse time, so use `null` when absent. # `source` resolves literal paths at parse time, so use `null` when absent.
const m3tam3re_secrets_file = if ("/run/agenix/m3tam3re-secrets" | path exists) { # Path is resolved at Nix build time via config.home.username.
"/run/agenix/m3tam3re-secrets" const user_secrets_file = if ("${secretsFile}" | path exists) {
"${secretsFile}"
} else { } else {
null null
} }
source $m3tam3re_secrets_file source $user_secrets_file
''; '';
configFile.text = '' configFile.text = ''
@@ -12,7 +12,6 @@ in {
config = mkIf cfg.enable { config = mkIf cfg.enable {
home.packages = with pkgs; [ home.packages = with pkgs; [
openwork
pomodoro-timer pomodoro-timer
]; ];
}; };
+38 -4
View File
@@ -19,7 +19,7 @@ in {
source = [ source = [
"~/.config/hypr/dms/colors.conf" "~/.config/hypr/dms/colors.conf"
"~/.config/hypr/dms/layout.conf" "~/.config/hypr/dms/layout.conf"
"~/.config/hypr/monitors.conf" "~/.config/hypr/dms/outputs.conf"
]; ];
exec-once = [ exec-once = [
"vibetyper" "vibetyper"
@@ -40,7 +40,7 @@ in {
]; ];
input = { input = {
kb_layout = "de,us"; kb_layout = "us";
kb_variant = ""; kb_variant = "";
kb_model = ""; kb_model = "";
kb_rules = ""; kb_rules = "";
@@ -97,17 +97,47 @@ in {
}; };
device = [ device = [
# Alle normalen Keyboards explizit auf de setzen:
{ {
name = "zsa-technology-labs-moonlander-mark-i"; name = "video-bus";
kb_layout = "us"; kb_layout = "de,us";
kb_options = "ctrl:nocaps";
}
{
name = "razer-razer-pro-click-v2-vertical-edition-keyboard";
kb_layout = "de,us";
kb_options = "ctrl:nocaps";
}
{
name = "razer-razer-pro-click-v2-vertical-edition-1";
kb_layout = "de,us";
kb_options = "ctrl:nocaps";
} }
{ {
name = "vibe-typer-virtual-keyboard"; name = "vibe-typer-virtual-keyboard";
kb_layout = "de"; kb_layout = "de";
kb_options = "ctrl:nocaps";
} }
{ {
name = "keychron-keychron-k7"; name = "keychron-keychron-k7";
kb_layout = "us"; kb_layout = "us";
kb_options = "ctrl:nocaps";
}
# Moonlander Sub-Devices bleiben us (erben global)
{
name = "zsa-technology-labs-moonlander-mark-i-consumer-control";
kb_layout = "us";
kb_options = "ctrl:nocaps";
}
{
name = "zsa-technology-labs-moonlander-mark-i-keyboard";
kb_layout = "us";
kb_options = "ctrl:nocaps";
}
{
name = "zsa-technology-labs-moonlander-mark-i-system-control";
kb_layout = "us";
kb_options = "ctrl:nocaps";
} }
]; ];
@@ -150,6 +180,10 @@ in {
"match:initial_title .*streamlabs.com.*, no_shadow on" "match:initial_title .*streamlabs.com.*, no_shadow on"
"match:initial_title .*streamlabs.com.*, no_blur on" "match:initial_title .*streamlabs.com.*, no_blur on"
"match:class ^vibe-typer$, match:title ^Recording Indicator$, no_blur on" "match:class ^vibe-typer$, match:title ^Recording Indicator$, no_blur on"
"match:class ^vibe-typer$, match:title ^Recording Indicator$, no_shadow on"
"match:class ^vibe-typer$, match:title ^Recording Indicator$, no_anim on"
"match:class ^vibe-typer$, match:title ^Recording Indicator$, border_size 0"
"match:class ^vibe-typer$, match:title ^Recording Indicator$, no_focus on"
"border_color rgb(ffffff), match:xwayland 1" "border_color rgb(ffffff), match:xwayland 1"
]; ];
+1
View File
@@ -74,5 +74,6 @@
# opencode-desktop # opencode-desktop
openshell openshell
openspec openspec
openwork
]; ];
} }
+13 -14
View File
@@ -4,25 +4,25 @@
ohMyOpencodeSettings = { ohMyOpencodeSettings = {
agents = { agents = {
sisyphus.model = "litellm/claude-opus-4-6"; sisyphus.model = "litellm/claude-opus-4-8";
oracle.model = "litellm/claude-sonnet-4-6"; oracle.model = "litellm/claude-sonnet-4-6";
librarian.model = "litellm/claude-sonnet-4-6"; librarian.model = "litellm/claude-sonnet-4-6";
explore.model = "litellm/claude-haiku-4-5"; explore.model = "litellm/claude-haiku-4-5";
multimodal-looker.model = "litellm/gpt-5.3-codex"; multimodal-looker.model = "litellm/gpt-5.3-codex";
prometheus.model = "litellm/claude-opus-4-6"; prometheus.model = "litellm/claude-opus-4-8";
metis.model = "litellm/claude-opus-4-6"; metis.model = "litellm/claude-opus-4-8";
momus.model = "litellm/claude-opus-4-6"; momus.model = "litellm/claude-opus-4-8";
atlas.model = "litellm/claude-sonnet-4-6"; atlas.model = "litellm/claude-sonnet-4-8";
}; };
categories = { categories = {
visual-engineering.model = "zai-coding-plan/glm-5.1"; visual-engineering.model = "zai-coding-plan/glm-5.2";
ultrabrain.model = "litellm/claude-opus-4-6"; ultrabrain.model = "litellm/claude-opus-4-8";
deep.model = "litellm/claude-sonnet-4-6"; deep.model = "litellm/claude-sonnet-4-6";
artistry.model = "zai-coding-plan/glm-5.1"; artistry.model = "zai-coding-plan/glm-5.2";
quick.model = "litellm/claude-haiku-4-5"; quick.model = "litellm/claude-haiku-4-5";
unspecified-low.model = "litellm/claude-sonnet-4-6"; unspecified-low.model = "litellm/claude-sonnet-4-6";
unspecified-high.model = "litellm/claude-opus-4-6"; unspecified-high.model = "litellm/claude-opus-4-8";
writing.model = "zai-coding-plan/glm-5.1"; writing.model = "zai-coding-plan/glm-5.2";
}; };
}; };
}; };
@@ -227,12 +227,11 @@
output = 64000; output = 64000;
}; };
}; };
"claude-opus-4-6" = { "claude-opus-4-8" = {
name = "Claude Opus 4.6"; name = "Claude Opus 4.8";
options = { options = {
thinking = { thinking = {
type = "enabled"; type = "adaptive";
budget_tokens = 16000;
}; };
}; };
limit = { limit = {
+16 -16
View File
@@ -44,29 +44,29 @@
programs.ssh = { programs.ssh = {
enable = true; enable = true;
enableDefaultConfig = false; enableDefaultConfig = false;
matchBlocks = { settings = {
"AZ-CLD-1" = { "AZ-CLD-1" = {
hostname = "152.53.186.119"; HostName = "152.53.186.119";
user = "sascha.koenig"; User = "sascha.koenig";
port = 2022; Port = 2022;
identityFile = "~/.ssh/sascha.koenig"; IdentityFile = "~/.ssh/sascha.koenig";
}; };
"AZ-PRM-1" = { "AZ-PRM-1" = {
hostname = "192.168.152.76"; HostName = "192.168.152.76";
user = "sascha.koenig"; User = "sascha.koenig";
port = 2022; Port = 2022;
identityFile = "~/.ssh/sascha.koenig"; IdentityFile = "~/.ssh/sascha.koenig";
}; };
"git.az-gruppe.com" = { "git.az-gruppe.com" = {
hostname = "git.az-gruppe.com"; HostName = "git.az-gruppe.com";
port = 2022; Port = 2022;
user = "sascha.koenig"; User = "sascha.koenig";
identityFile = "~/.ssh/sascha.koenig"; IdentityFile = "~/.ssh/sascha.koenig";
}; };
"code.m3ta.dev" = { "code.m3ta.dev" = {
hostname = "code.m3ta.dev"; HostName = "code.m3ta.dev";
user = "m3tam3re"; User = "m3tam3re";
identityFile = "~/.ssh/sascha.koenig"; IdentityFile = "~/.ssh/sascha.koenig";
}; };
}; };
}; };