diff --git a/flake.lock b/flake.lock index e68c353..649d88d 100644 --- a/flake.lock +++ b/flake.lock @@ -126,6 +126,27 @@ "type": "github" } }, + "codex-desktop-linux": { + "inputs": { + "flake-utils": "flake-utils", + "nixpkgs": [ + "nixpkgs-unstable" + ] + }, + "locked": { + "lastModified": 1783936800, + "narHash": "sha256-Aaiy1Wq/aTx/oSgUBMTqV5YJ5d2hmu6yFKAccG2OzTM=", + "owner": "ilysenko", + "repo": "codex-desktop-linux", + "rev": "13d2d31121f9968bae59f27b322ab227e330b075", + "type": "github" + }, + "original": { + "owner": "ilysenko", + "repo": "codex-desktop-linux", + "type": "github" + } + }, "crane": { "locked": { "lastModified": 1781825982, @@ -338,6 +359,24 @@ "type": "github" } }, + "flake-utils": { + "inputs": { + "systems": "systems" + }, + "locked": { + "lastModified": 1731533236, + "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, "fromYaml": { "flake": false, "locked": { @@ -359,7 +398,7 @@ "flake-compat": "flake-compat", "home-manager": "home-manager", "nixpkgs": "nixpkgs", - "systems": "systems", + "systems": "systems_2", "zig": "zig", "zon2nix": "zon2nix" }, @@ -529,7 +568,7 @@ "nixpkgs": [ "nixpkgs-unstable" ], - "systems": "systems_2", + "systems": "systems_3", "treefmt-nix": "treefmt-nix" }, "locked": { @@ -856,7 +895,7 @@ "nixpkgs": [ "nixpkgs" ], - "systems": "systems_3" + "systems": "systems_4" }, "locked": { "lastModified": 1782919967, @@ -943,6 +982,7 @@ }, "root": { "inputs": { + "codex-desktop-linux": "codex-desktop-linux", "disko": "disko", "flake-parts": "flake-parts", "ghostty": "ghostty", @@ -962,7 +1002,7 @@ "services-flake": "services-flake", "sops-nix": "sops-nix", "stylix": "stylix", - "systems": "systems_5", + "systems": "systems_6", "treefmt-nix": "treefmt-nix_2", "vicinae": "vicinae", "vicinae-extensions": "vicinae-extensions" @@ -1037,7 +1077,7 @@ "nixpkgs" ], "nur": "nur", - "systems": "systems_4", + "systems": "systems_5", "tinted-kitty": "tinted-kitty", "tinted-schemes": "tinted-schemes", "tinted-tmux": "tinted-tmux", @@ -1058,7 +1098,6 @@ } }, "systems": { - "flake": false, "locked": { "lastModified": 1681028828, "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", @@ -1074,6 +1113,7 @@ } }, "systems_2": { + "flake": false, "locked": { "lastModified": 1681028828, "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", @@ -1119,6 +1159,21 @@ } }, "systems_5": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, + "systems_6": { "locked": { "lastModified": 1689347949, "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=", @@ -1133,7 +1188,7 @@ "type": "github" } }, - "systems_6": { + "systems_7": { "locked": { "lastModified": 1681028828, "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", @@ -1148,7 +1203,7 @@ "type": "github" } }, - "systems_7": { + "systems_8": { "locked": { "lastModified": 1681028828, "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", @@ -1269,7 +1324,7 @@ "vicinae": { "inputs": { "nixpkgs": "nixpkgs_8", - "systems": "systems_6" + "systems": "systems_7" }, "locked": { "lastModified": 1783292987, @@ -1291,7 +1346,7 @@ "nixpkgs": [ "nixpkgs" ], - "systems": "systems_7", + "systems": "systems_8", "vicinae": "vicinae_2" }, "locked": { diff --git a/flake.nix b/flake.nix index a8723c8..98448b1 100644 --- a/flake.nix +++ b/flake.nix @@ -81,6 +81,11 @@ inputs.nixpkgs.follows = "nixpkgs-unstable"; }; + codex-desktop-linux = { + url = "github:ilysenko/codex-desktop-linux"; + inputs.nixpkgs.follows = "nixpkgs-unstable"; + }; + # Index / Search nix-index-database = { url = "github:nix-community/nix-index-database"; diff --git a/modules/applications/codex-desktop.nix b/modules/applications/codex-desktop.nix new file mode 100644 index 0000000..4060223 --- /dev/null +++ b/modules/applications/codex-desktop.nix @@ -0,0 +1,29 @@ +{ + inputs, + pkgs, + lib, + config, + ... +}: +let + cfg = config.my.applications.codexDesktop; +in +{ + imports = [ + inputs.codex-desktop-linux.nixosModules.default + ]; + + options.my.applications.codexDesktop = { + enable = lib.mkEnableOption "ChatGPT Desktop for Linux"; + }; + + config = lib.mkIf cfg.enable { + my.applications.codex.enable = true; + + programs.codexDesktopLinux = { + enable = true; + cliPackage = pkgs.llm-agents.codex; + computerUseUi.enable = true; + }; + }; +} diff --git a/modules/applications/default.nix b/modules/applications/default.nix index 3ad5179..3028075 100644 --- a/modules/applications/default.nix +++ b/modules/applications/default.nix @@ -5,6 +5,7 @@ ./btop ./chrome.nix ./claude + ./codex-desktop.nix ./codex.nix ./direnv.nix ./discord.nix diff --git a/modules/features/dev/agent.nix b/modules/features/dev/agent.nix index e5d941e..ee05550 100644 --- a/modules/features/dev/agent.nix +++ b/modules/features/dev/agent.nix @@ -17,6 +17,7 @@ in codex.enable = true; opencode.enable = true; grok.enable = true; + codexDesktop.enable = true; }; }; }