Compare commits
6 Commits
hyprland-l
...
ac7fe9de54
| Author | SHA1 | Date | |
|---|---|---|---|
| ac7fe9de54 | |||
| 8268cced42 | |||
| a14c5a9708 | |||
| 2f29f7e5ba | |||
| 8d82429025 | |||
| 9983a94421 |
@@ -751,9 +751,9 @@ local function adopt_matching_scratchpad_window(window)
|
|||||||
for name, def in pairs(scratchpads) do
|
for name, def in pairs(scratchpads) do
|
||||||
if scratchpad_window_matches(window, def) then
|
if scratchpad_window_matches(window, def) then
|
||||||
if scratchpad_pending[name] then
|
if scratchpad_pending[name] then
|
||||||
local pending = scratchpad_pending[name]
|
local target_monitor = scratchpad_pending[name]
|
||||||
scratchpad_pending[name] = nil
|
scratchpad_pending[name] = nil
|
||||||
show_scratchpad_window(name, window, pending.workspace or active_workspace(), pending.monitor or hl.get_active_monitor())
|
show_scratchpad_window(name, window, nil, target_monitor)
|
||||||
elseif scratchpad_is_visible(window) then
|
elseif scratchpad_is_visible(window) then
|
||||||
schedule_scratchpad_geometry(name, window, hl.get_active_monitor())
|
schedule_scratchpad_geometry(name, window, hl.get_active_monitor())
|
||||||
end
|
end
|
||||||
@@ -1074,10 +1074,7 @@ local function toggle_scratchpad(name)
|
|||||||
|
|
||||||
local windows = matching_scratchpad_windows(name)
|
local windows = matching_scratchpad_windows(name)
|
||||||
if #windows == 0 then
|
if #windows == 0 then
|
||||||
scratchpad_pending[name] = {
|
scratchpad_pending[name] = hl.get_active_monitor()
|
||||||
monitor = hl.get_active_monitor(),
|
|
||||||
workspace = active_workspace(),
|
|
||||||
}
|
|
||||||
hl.exec_cmd(def.command)
|
hl.exec_cmd(def.command)
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -10,6 +10,7 @@ makeEnable config "myModules.code" true {
|
|||||||
antigravity
|
antigravity
|
||||||
claude-code
|
claude-code
|
||||||
codex
|
codex
|
||||||
|
codex-desktop
|
||||||
gemini-cli
|
gemini-cli
|
||||||
happy-coder
|
happy-coder
|
||||||
opencode
|
opencode
|
||||||
|
|||||||
24
nixos/flake.lock
generated
24
nixos/flake.lock
generated
@@ -186,6 +186,29 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"codex-desktop-linux": {
|
||||||
|
"inputs": {
|
||||||
|
"flake-utils": [
|
||||||
|
"flake-utils"
|
||||||
|
],
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1777351752,
|
||||||
|
"narHash": "sha256-kwdZPCidd9kPYASk6fUPcDfg2uDQ9NzwtYqLlwwzFVk=",
|
||||||
|
"owner": "ilysenko",
|
||||||
|
"repo": "codex-desktop-linux",
|
||||||
|
"rev": "40fd7a8bd6f229e23194881b972fddb2dc42c4c8",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "ilysenko",
|
||||||
|
"repo": "codex-desktop-linux",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"coqui-tts-streamer": {
|
"coqui-tts-streamer": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-utils": [
|
"flake-utils": [
|
||||||
@@ -2128,6 +2151,7 @@
|
|||||||
"caelestia-shell": "caelestia-shell",
|
"caelestia-shell": "caelestia-shell",
|
||||||
"claude-code-nix": "claude-code-nix",
|
"claude-code-nix": "claude-code-nix",
|
||||||
"codex-cli-nix": "codex-cli-nix",
|
"codex-cli-nix": "codex-cli-nix",
|
||||||
|
"codex-desktop-linux": "codex-desktop-linux",
|
||||||
"coqui-tts-streamer": "coqui-tts-streamer",
|
"coqui-tts-streamer": "coqui-tts-streamer",
|
||||||
"flake-utils": "flake-utils",
|
"flake-utils": "flake-utils",
|
||||||
"git-blame-rank": "git-blame-rank",
|
"git-blame-rank": "git-blame-rank",
|
||||||
|
|||||||
@@ -218,6 +218,14 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
codex-desktop-linux = {
|
||||||
|
url = "github:ilysenko/codex-desktop-linux";
|
||||||
|
inputs = {
|
||||||
|
nixpkgs.follows = "nixpkgs";
|
||||||
|
flake-utils.follows = "flake-utils";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
claude-code-nix = {
|
claude-code-nix = {
|
||||||
url = "github:sadjow/claude-code-nix";
|
url = "github:sadjow/claude-code-nix";
|
||||||
inputs = {
|
inputs = {
|
||||||
|
|||||||
122
nixos/nix.nix
122
nixos/nix.nix
@@ -109,8 +109,126 @@
|
|||||||
(import ./emacs-overlay.nix)
|
(import ./emacs-overlay.nix)
|
||||||
(import ../nix-shared/overlays)
|
(import ../nix-shared/overlays)
|
||||||
# Use codex and claude-code from dedicated flakes with cachix
|
# Use codex and claude-code from dedicated flakes with cachix
|
||||||
(final: prev: {
|
(final: prev: let
|
||||||
codex = inputs.codex-cli-nix.packages.${prev.stdenv.hostPlatform.system}.default;
|
system = prev.stdenv.hostPlatform.system;
|
||||||
|
codexDmg = final.fetchurl {
|
||||||
|
url = "https://persistent.oaistatic.com/codex-app-prod/Codex.dmg";
|
||||||
|
hash = "sha256-hxuafsEAmx1OQvjh8riI7Y4QxvZXemBrjpRHT8Bh034=";
|
||||||
|
};
|
||||||
|
codexDesktopLibPath = final.lib.makeLibraryPath (with final; [
|
||||||
|
alsa-lib
|
||||||
|
atk
|
||||||
|
at-spi2-atk
|
||||||
|
at-spi2-core
|
||||||
|
cairo
|
||||||
|
cups
|
||||||
|
dbus
|
||||||
|
expat
|
||||||
|
gdk-pixbuf
|
||||||
|
glib
|
||||||
|
gtk3
|
||||||
|
libdrm
|
||||||
|
libgbm
|
||||||
|
libglvnd
|
||||||
|
libX11
|
||||||
|
libxcb
|
||||||
|
libXcomposite
|
||||||
|
libxcursor
|
||||||
|
libXdamage
|
||||||
|
libXext
|
||||||
|
libXfixes
|
||||||
|
libxi
|
||||||
|
libxkbcommon
|
||||||
|
libXrandr
|
||||||
|
libxscrnsaver
|
||||||
|
libxtst
|
||||||
|
mesa
|
||||||
|
nspr
|
||||||
|
nss
|
||||||
|
pango
|
||||||
|
systemd
|
||||||
|
wayland
|
||||||
|
]);
|
||||||
|
codexDesktopInstaller = final.writeShellApplication {
|
||||||
|
name = "codex-desktop-installer";
|
||||||
|
runtimeInputs = with final; [
|
||||||
|
bash
|
||||||
|
curl
|
||||||
|
gcc
|
||||||
|
gnumake
|
||||||
|
nodejs
|
||||||
|
p7zip
|
||||||
|
patchelf
|
||||||
|
python3
|
||||||
|
unzip
|
||||||
|
];
|
||||||
|
text = ''
|
||||||
|
set -euo pipefail
|
||||||
|
|
||||||
|
root_dir="$(pwd)"
|
||||||
|
workdir="$(mktemp -d)"
|
||||||
|
source_dir="$workdir/source"
|
||||||
|
cleanup() {
|
||||||
|
rm -rf "$workdir"
|
||||||
|
}
|
||||||
|
trap cleanup EXIT
|
||||||
|
|
||||||
|
mkdir -p "$source_dir"
|
||||||
|
cp -R ${inputs.codex-desktop-linux.outPath}/. "$source_dir"
|
||||||
|
chmod -R u+w "$source_dir"
|
||||||
|
cp ${codexDmg} "$source_dir/Codex.dmg"
|
||||||
|
chmod +x "$source_dir/install.sh"
|
||||||
|
|
||||||
|
cd "$source_dir"
|
||||||
|
export CODEX_INSTALL_DIR="''${CODEX_INSTALL_DIR:-$root_dir/codex-app}"
|
||||||
|
bash "$source_dir/install.sh" "$source_dir/Codex.dmg" "$@"
|
||||||
|
|
||||||
|
install_dir="''${CODEX_INSTALL_DIR:-$root_dir/codex-app}"
|
||||||
|
if [ -f "$install_dir/electron" ]; then
|
||||||
|
patchelf --set-interpreter "$(cat ${final.stdenv.cc}/nix-support/dynamic-linker)" \
|
||||||
|
--set-rpath "$install_dir:${codexDesktopLibPath}" \
|
||||||
|
"$install_dir/electron"
|
||||||
|
|
||||||
|
if [ -f "$install_dir/chrome_crashpad_handler" ]; then
|
||||||
|
patchelf --set-interpreter "$(cat ${final.stdenv.cc}/nix-support/dynamic-linker)" \
|
||||||
|
"$install_dir/chrome_crashpad_handler" || true
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -f "$install_dir/chrome-sandbox" ]; then
|
||||||
|
patchelf --set-interpreter "$(cat ${final.stdenv.cc}/nix-support/dynamic-linker)" \
|
||||||
|
"$install_dir/chrome-sandbox" || true
|
||||||
|
fi
|
||||||
|
|
||||||
|
find "$install_dir" -maxdepth 1 -name "*.so*" -type f | while read -r so; do
|
||||||
|
patchelf --set-rpath "${codexDesktopLibPath}" "$so" 2>/dev/null || true
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
in {
|
||||||
|
codex = inputs.codex-cli-nix.packages.${system}.default;
|
||||||
|
codex-desktop-installer = codexDesktopInstaller;
|
||||||
|
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;
|
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;
|
git-sync-rs = inputs.git-sync-rs.packages.${prev.stdenv.hostPlatform.system}.default;
|
||||||
})
|
})
|
||||||
|
|||||||
Reference in New Issue
Block a user