From 40421f044cf1a36b880ad69d33d355b780365ec1 Mon Sep 17 00:00:00 2001 From: GarandPLG Date: Thu, 15 Oct 2026 16:42:20 +0200 Subject: [PATCH] Add Codex module and skills, update Helium Enable Codex on Garand-Desktop and Garand-Laptop. Keep it disabled on the default host. Add a new `codex.nix` module and import it in the home configuration. Introduce a shared `skills.nix` module that downloads Ponytail and Caveman skill files for both `.agents/skills` and `.codex/skills`. Update Helium to 0.19.3.1 with the correct hash. Remove the obsolete Zed skills module. --- hosts/Garand-Desktop/home-modules.nix | 1 + hosts/Garand-Laptop/home-modules.nix | 1 + hosts/default/home-modules.nix | 1 + modules/core/packages/appimages/helium.nix | 5 ++-- modules/home/codex.nix | 17 ++++++++++++++ modules/home/default.nix | 2 ++ modules/home/skills.nix | 27 ++++++++++++++++++++++ modules/home/zed/default.nix | 1 - modules/home/zed/skills.nix | 20 ---------------- 9 files changed, 51 insertions(+), 24 deletions(-) create mode 100644 modules/home/codex.nix create mode 100644 modules/home/skills.nix delete mode 100644 modules/home/zed/skills.nix diff --git a/hosts/Garand-Desktop/home-modules.nix b/hosts/Garand-Desktop/home-modules.nix index a3a095a..9dbd130 100644 --- a/hosts/Garand-Desktop/home-modules.nix +++ b/hosts/Garand-Desktop/home-modules.nix @@ -8,6 +8,7 @@ _: { remote-server.enable = false; # Remote Server: enable remote editing capabilities }; opencode.enable = false; # OpenCode: terminal coding agent + codex.enable = true; # Codex: Lightweight coding agent that runs in your terminal ollama.enable = false; # Ollama: Local Llms /* diff --git a/hosts/Garand-Laptop/home-modules.nix b/hosts/Garand-Laptop/home-modules.nix index f554713..d71adc6 100644 --- a/hosts/Garand-Laptop/home-modules.nix +++ b/hosts/Garand-Laptop/home-modules.nix @@ -8,6 +8,7 @@ _: { remote-server.enable = false; # Remote Server: enable remote editing capabilities }; opencode.enable = false; # OpenCode: terminal coding agent + codex.enable = true; # Codex: Lightweight coding agent that runs in your terminal ollama.enable = false; # Ollama: Local Llms /* diff --git a/hosts/default/home-modules.nix b/hosts/default/home-modules.nix index baee5a8..2673c5f 100644 --- a/hosts/default/home-modules.nix +++ b/hosts/default/home-modules.nix @@ -8,6 +8,7 @@ _: { remote-server.enable = false; # Remote Server: enable remote editing capabilities }; opencode.enable = false; # OpenCode: terminal coding agent + codex.enable = false; # Codex: Lightweight coding agent that runs in your terminal ollama.enable = false; # Ollama: Local Llms /* diff --git a/modules/core/packages/appimages/helium.nix b/modules/core/packages/appimages/helium.nix index 6ea4bdd..e26144e 100644 --- a/modules/core/packages/appimages/helium.nix +++ b/modules/core/packages/appimages/helium.nix @@ -4,8 +4,8 @@ fetchurl, }: let pname = "helium"; - version = "0.19.2.1"; - hash = "sha256-oEVQo8fHC9rTrNOkQw7ajSr8C/cXOpxYpAP+q5UXCH8="; + version = "0.19.3.1"; + hash = "sha256-Rg5tKlyG0DkhYkItGyF6NmMb2DD40h5WUYyWAgl5eQY="; src = fetchurl { url = "https://github.com/imputnet/helium-linux/releases/download/${version}/helium-${version}-x86_64.AppImage"; @@ -36,4 +36,3 @@ in maintainers = with lib.maintainers; [garand_plg]; }; } -# https://github.com/imputnet/helium-linux/releases/download/0.11.7.1/helium-0.11.7.1-x86_64.AppImage diff --git a/modules/home/codex.nix b/modules/home/codex.nix new file mode 100644 index 0000000..da6f020 --- /dev/null +++ b/modules/home/codex.nix @@ -0,0 +1,17 @@ +{ + pkgs, + lib, + config, + ... +}: { + options.codex.enable = lib.mkEnableOption "Codex"; + + config.programs.codex = lib.mkIf config.codex.enable { + enable = true; + package = pkgs.codex; + # skills = { + # ponytail = /home/${username}/.agents/skills/ponytail; + # caveman = /home/${username}/.agents/skills/caveman; + # }; + }; +} diff --git a/modules/home/default.nix b/modules/home/default.nix index f1c9e7d..57b5654 100644 --- a/modules/home/default.nix +++ b/modules/home/default.nix @@ -19,6 +19,7 @@ _: { ./btop.nix ./cargo.nix ./cava.nix + ./codex.nix ./easyeffects.nix ./eza.nix ./fzf.nix @@ -37,6 +38,7 @@ _: { ./opencode.nix ./prismlauncher.nix ./qt.nix + ./skills.nix ./ssh.nix ./starship.nix ./stylix.nix diff --git a/modules/home/skills.nix b/modules/home/skills.nix new file mode 100644 index 0000000..2e441c0 --- /dev/null +++ b/modules/home/skills.nix @@ -0,0 +1,27 @@ +{ + pkgs, + # lib, + ... +}: let + skillPath = ".agents/skills"; + skillCodexPath = ".codex/skills"; + urlDomain = "https://raw.githubusercontent.com"; + refs = "refs/heads/main/skills"; + + ponytailSkill = pkgs.fetchurl { + url = "${urlDomain}/DietrichGebert/ponytail/${refs}/ponytail/SKILL.md"; + sha256 = "sha256-IiTh4N3bHhJtER4HYPEFEo1g9Ro703TiPA5Tigv7k3s="; + }; + + cavemanSkill = pkgs.fetchurl { + url = "${urlDomain}/JuliusBrussee/caveman/${refs}/caveman/SKILL.md"; + sha256 = "sha256-447Gcey+5HziNBkL4SYV2vYKxmfXdbc0DUnQf09jx7w="; + }; +in { + home.file = { + "${skillPath}/ponytail/SKILL.md".source = ponytailSkill; + "${skillPath}/caveman/SKILL.md".source = cavemanSkill; + "${skillCodexPath}/ponytail/SKILL.md".source = ponytailSkill; + "${skillCodexPath}/caveman/SKILL.md".source = cavemanSkill; + }; +} diff --git a/modules/home/zed/default.nix b/modules/home/zed/default.nix index 3754e84..8a39bcc 100644 --- a/modules/home/zed/default.nix +++ b/modules/home/zed/default.nix @@ -19,6 +19,5 @@ ./user-settings ./extensions.nix ./extra-packages.nix - ./skills.nix ]; } diff --git a/modules/home/zed/skills.nix b/modules/home/zed/skills.nix deleted file mode 100644 index ed409fb..0000000 --- a/modules/home/zed/skills.nix +++ /dev/null @@ -1,20 +0,0 @@ -{ - pkgs, - # lib, - ... -}: let - skillPath = ".agents/skills"; - urlDomain = "https://raw.githubusercontent.com"; - refs = "refs/heads/main/skills"; -in { - home.file = { - "${skillPath}/ponytail/SKILL.md".source = pkgs.fetchurl { - url = "${urlDomain}/DietrichGebert/ponytail/${refs}/ponytail/SKILL.md"; - sha256 = "sha256-IiTh4N3bHhJtER4HYPEFEo1g9Ro703TiPA5Tigv7k3s="; - }; - "${skillPath}/caveman/SKILL.md".source = pkgs.fetchurl { - url = "${urlDomain}/JuliusBrussee/caveman/${refs}/caveman/SKILL.md"; - sha256 = "sha256-447Gcey+5HziNBkL4SYV2vYKxmfXdbc0DUnQf09jx7w="; - }; - }; -}