From ab59c505205f2575fc7df28ad1ff21e448ceab4b Mon Sep 17 00:00:00 2001 From: Hektor Misplon Date: Mon, 23 Feb 2026 15:37:51 +0100 Subject: [PATCH] fix: add wrapper util for home manager modules --- home/modules/bruno.nix | 14 +------------- home/modules/comms/signal.nix | 3 ++- home/modules/comms/teams.nix | 2 +- home/modules/default.nix | 15 +++++++++++++++ home/modules/vscode.nix | 14 +------------- 5 files changed, 20 insertions(+), 28 deletions(-) diff --git a/home/modules/bruno.nix b/home/modules/bruno.nix index 16be749..9c60611 100644 --- a/home/modules/bruno.nix +++ b/home/modules/bruno.nix @@ -1,19 +1,7 @@ { config, pkgs, ... }: -let - needsNixGL = config.lib ? nixGL; - bruno = - if needsNixGL then - pkgs.bruno.overrideAttrs (old: { - postInstall = (old.postInstall or "") + '' - wrapProgram $out/bin/bruno --add-flags "--no-sandbox" - ''; - }) - else - pkgs.bruno; -in { config = { - home.packages = [ (config.nixgl.wrap bruno) ]; + home.packages = [ (config.nixgl.wrap (config.wrapApp pkgs.bruno "--no-sandbox")) ]; }; } diff --git a/home/modules/comms/signal.nix b/home/modules/comms/signal.nix index ed7db17..7509ae8 100644 --- a/home/modules/comms/signal.nix +++ b/home/modules/comms/signal.nix @@ -4,8 +4,9 @@ pkgs, ... }: + { config = lib.mkIf config.comms.signal.enable { - home.packages = [ (config.nixgl.wrap pkgs.signal-desktop) ]; + home.packages = [ (config.nixgl.wrap (config.wrapApp pkgs.signal-desktop "--no-sandbox")) ]; }; } diff --git a/home/modules/comms/teams.nix b/home/modules/comms/teams.nix index 8bb5fb1..62579a5 100644 --- a/home/modules/comms/teams.nix +++ b/home/modules/comms/teams.nix @@ -7,6 +7,6 @@ { config = lib.mkIf config.comms.teams.enable { - home.packages = [ (config.nixgl.wrap pkgs.teams-for-linux) ]; + home.packages = [ (config.nixgl.wrap (config.wrapApp pkgs.teams-for-linux "--no-sandbox")) ]; }; } diff --git a/home/modules/default.nix b/home/modules/default.nix index bc5e7f8..e5002fc 100644 --- a/home/modules/default.nix +++ b/home/modules/default.nix @@ -6,4 +6,19 @@ default = if config.lib ? nixGL then config.lib.nixGL.wrap else lib.id; readOnly = true; }; + + options.wrapApp = lib.mkOption { + type = lib.types.raw; + default = + pkg: flags: + if config.lib ? nixGL then + pkg.overrideAttrs (old: { + postInstall = (old.postInstall or "") + '' + wrapProgram $out/bin/${pkg.meta.mainProgram} --add-flags "${flags}" + ''; + }) + else + pkg; + readOnly = true; + }; } diff --git a/home/modules/vscode.nix b/home/modules/vscode.nix index feae33e..9af0662 100644 --- a/home/modules/vscode.nix +++ b/home/modules/vscode.nix @@ -1,19 +1,7 @@ { config, pkgs, ... }: -let - needsNixGL = config.lib ? nixGL; - vscode = - if needsNixGL then - pkgs.vscode.overrideAttrs (old: { - postInstall = (old.postInstall or "") + '' - wrapProgram $out/bin/code --add-flags "--disable-gpu-sandbox" - ''; - }) - else - pkgs.vscode; -in { config = { - home.packages = [ (config.nixgl.wrap vscode) ]; + home.packages = [ (config.nixgl.wrap (config.wrapApp pkgs.vscode "--disable-gpu-sandbox")) ]; }; }