From b76fbefc4b488633875a099193670760d97ec8c1 Mon Sep 17 00:00:00 2001 From: m3tm3re
Date: Fri, 23 Jan 2026 17:52:46 +0100 Subject: [PATCH] feat: add opencode-desktop package with Wayland support --- pkgs/default.nix | 32 ++++++++++++++----------------- pkgs/opencode-desktop/default.nix | 23 ++++++++++++++++++++++ 2 files changed, 37 insertions(+), 18 deletions(-) create mode 100644 pkgs/opencode-desktop/default.nix diff --git a/pkgs/default.nix b/pkgs/default.nix index 85460a1..366a757 100644 --- a/pkgs/default.nix +++ b/pkgs/default.nix @@ -1,24 +1,20 @@ -{ - pkgs, - inputs ? null, - ... -}: { +{ pkgs, inputs ? null, ... }: { # Custom packages registry # Each package is defined in its own directory under pkgs/ - beads = pkgs.callPackage ./beads {}; - code2prompt = pkgs.callPackage ./code2prompt {}; - hyprpaper-random = pkgs.callPackage ./hyprpaper-random {}; - launch-webapp = pkgs.callPackage ./launch-webapp {}; - mem0 = pkgs.callPackage ./mem0 {}; - msty-studio = pkgs.callPackage ./msty-studio {}; - n8n = pkgs.callPackage ./n8n {}; - pomodoro-timer = pkgs.callPackage ./pomodoro-timer {}; - rofi-project-opener = pkgs.callPackage ./rofi-project-opener {}; - stt-ptt = pkgs.callPackage ./stt-ptt {}; - tuxedo-backlight = pkgs.callPackage ./tuxedo-backlight {}; - zellij-ps = pkgs.callPackage ./zellij-ps {}; + beads = pkgs.callPackage ./beads { }; + code2prompt = pkgs.callPackage ./code2prompt { }; + hyprpaper-random = pkgs.callPackage ./hyprpaper-random { }; + launch-webapp = pkgs.callPackage ./launch-webapp { }; + mem0 = pkgs.callPackage ./mem0 { }; + msty-studio = pkgs.callPackage ./msty-studio { }; + n8n = pkgs.callPackage ./n8n { }; + pomodoro-timer = pkgs.callPackage ./pomodoro-timer { }; + rofi-project-opener = pkgs.callPackage ./rofi-project-opener { }; + stt-ptt = pkgs.callPackage ./stt-ptt { }; + tuxedo-backlight = pkgs.callPackage ./tuxedo-backlight { }; + zellij-ps = pkgs.callPackage ./zellij-ps { }; # Imported from flake inputs opencode = inputs.opencode.packages.${pkgs.system}.opencode; - opencode-desktop = inputs.opencode.packages.${pkgs.system}.desktop; + opencode-desktop = pkgs.callPackage ./opencode-desktop { inherit inputs; }; } diff --git a/pkgs/opencode-desktop/default.nix b/pkgs/opencode-desktop/default.nix new file mode 100644 index 0000000..894b224 --- /dev/null +++ b/pkgs/opencode-desktop/default.nix @@ -0,0 +1,23 @@ +{ lib, stdenv, symlinkJoin, makeWrapper, inputs ? null, }: +let + opencode-desktop = + inputs.opencode.packages.${stdenv.hostPlatform.system}.desktop; +in symlinkJoin { + name = "opencode-desktop"; + paths = [ opencode-desktop ]; + + nativeBuildInputs = [ makeWrapper ]; + + postBuild = '' + wrapProgram $out/bin/opencode-desktop \ + --run 'if [[ "$NIXOS_OZONE_WL" == "1" ]]; then export OC_ALLOW_WAYLAND=1; fi' + ''; + + meta = { + description = "OpenCode Desktop App with Wayland support"; + homepage = "https://opencode.ai"; + license = lib.licenses.mit; + platforms = lib.platforms.linux; + mainProgram = "opencode-desktop"; + }; +}