diff --git a/nixos/code.nix b/nixos/code.nix index 8d865465..174b875e 100644 --- a/nixos/code.nix +++ b/nixos/code.nix @@ -10,6 +10,7 @@ makeEnable config "myModules.code" true { antigravity claude-code codex + codex-desktop gemini-cli happy-coder opencode diff --git a/nixos/flake.nix b/nixos/flake.nix index 8afd8c2f..0dcf8b4c 100644 --- a/nixos/flake.nix +++ b/nixos/flake.nix @@ -205,6 +205,14 @@ }; }; + codex-desktop-linux = { + url = "github:ilysenko/codex-desktop-linux"; + inputs = { + nixpkgs.follows = "nixpkgs"; + flake-utils.follows = "flake-utils"; + }; + }; + claude-code-nix = { url = "github:sadjow/claude-code-nix"; inputs = { diff --git a/nixos/nix.nix b/nixos/nix.nix index 4170fd3e..3fd56f7e 100644 --- a/nixos/nix.nix +++ b/nixos/nix.nix @@ -111,6 +111,28 @@ # Use codex and claude-code from dedicated flakes with cachix (final: prev: { codex = inputs.codex-cli-nix.packages.${prev.stdenv.hostPlatform.system}.default; + codex-desktop-installer = inputs.codex-desktop-linux.packages.${prev.stdenv.hostPlatform.system}.default; + codex-desktop = final.writeShellApplication { + name = "codex-desktop"; + runtimeInputs = [ + final.codex + final.codex-desktop-installer + final.coreutils + final.python3 + ]; + text = '' + install_root="''${CODEX_DESKTOP_HOME:-''${XDG_DATA_HOME:-$HOME/.local/share}/codex-desktop-linux}" + install_dir="''${CODEX_INSTALL_DIR:-$install_root/codex-app}" + + if [ ! -x "$install_dir/start.sh" ]; then + mkdir -p "$install_root" + CODEX_INSTALL_DIR="$install_dir" codex-desktop-installer + fi + + export CODEX_CLI_PATH="''${CODEX_CLI_PATH:-$(command -v codex)}" + exec "$install_dir/start.sh" "$@" + ''; + }; claude-code = inputs.claude-code-nix.packages.${prev.stdenv.hostPlatform.system}.default; git-sync-rs = inputs.git-sync-rs.packages.${prev.stdenv.hostPlatform.system}.default; })