From ba864888cd1bb6098ea9981c492a3b3ec9fca028 Mon Sep 17 00:00:00 2001 From: Frantisek Bohacek Date: Fri, 10 May 2024 18:16:59 +0200 Subject: [PATCH] feat: add wrapper-manager, wrap electron to run on wayland --- flake.lock | 47 ++++++++++++++++++++++++++++++++++------------- flake.nix | 6 ++++++ home/default.nix | 32 ++++++++++++++++++++++++++++---- 3 files changed, 68 insertions(+), 17 deletions(-) diff --git a/flake.lock b/flake.lock index 723701b..3dac61f 100644 --- a/flake.lock +++ b/flake.lock @@ -117,11 +117,11 @@ ] }, "locked": { - "lastModified": 1714430505, - "narHash": "sha256-SSJQ/KOy8uISnoZgqDoRha7g7PFLSFP/BtMWm0wUz8Q=", + "lastModified": 1714679908, + "narHash": "sha256-KzcXzDvDJjX34en8f3Zimm396x6idbt+cu4tWDVS2FI=", "owner": "nix-community", "repo": "home-manager", - "rev": "f8e6694edabe4aaa7a85aac47b43ea5d978b116d", + "rev": "9036fe9ef8e15a819fa76f47a8b1f287903fb848", "type": "github" }, "original": { @@ -200,11 +200,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1714465198, - "narHash": "sha256-ySkEJvS0gPz2UhXm0H3P181T8fUxvDVcoUyGn0Kc5AI=", + "lastModified": 1714746424, + "narHash": "sha256-Jdyw7VcM+jQ0uSXgjFj8UdXZ229yOvPNlYkKyKyHA4s=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "68d680c1b7c0e67a9b2144d6776583ee83664ef4", + "rev": "3f017311191fe6d501ca2496a835d012f656ee9c", "type": "github" }, "original": { @@ -216,11 +216,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1714253743, - "narHash": "sha256-mdTQw2XlariysyScCv2tTE45QSU9v/ezLcHJ22f0Nxc=", + "lastModified": 1714635257, + "narHash": "sha256-4cPymbty65RvF1DWQfc+Bc8B233A1BWxJnNULJKQ1EY=", "owner": "nixos", "repo": "nixpkgs", - "rev": "58a1abdbae3217ca6b702f03d3b35125d88a2994", + "rev": "63c3a29ca82437c87573e4c6919b09a24ea61b0f", "type": "github" }, "original": { @@ -264,11 +264,11 @@ }, "nur": { "locked": { - "lastModified": 1714507581, - "narHash": "sha256-lTvZePeyupJPnbWjZk2ss+2FbLrnYVyEODcrpnW2jzM=", + "lastModified": 1714817343, + "narHash": "sha256-rRHZG1hJIORQI9SyUHIL97i6gwT7kYI2lnvO2N4q93E=", "owner": "nix-community", "repo": "NUR", - "rev": "428b7f99a122d1a4744708615c2322ed59ea6db8", + "rev": "76f28396a56dae6b65e97cd9941cf9df825faebd", "type": "github" }, "original": { @@ -317,7 +317,8 @@ "nixos-hardware": "nixos-hardware", "nixpkgs": "nixpkgs", "nixpkgs-stable": "nixpkgs-stable_2", - "nur": "nur" + "nur": "nur", + "wrapper-manager": "wrapper-manager" } }, "rust-overlay": { @@ -359,6 +360,26 @@ "repo": "default", "type": "github" } + }, + "wrapper-manager": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1702396227, + "narHash": "sha256-JTgwZK6m3Lt1LrjgWdl5+9RyDlAI9mzH3QHFMY8RwVY=", + "owner": "viperML", + "repo": "wrapper-manager", + "rev": "3a4c510ffb9f01fc7cab5e23f5ae818d72a66e1a", + "type": "github" + }, + "original": { + "owner": "viperML", + "repo": "wrapper-manager", + "type": "github" + } } }, "root": "root", diff --git a/flake.nix b/flake.nix index 6d6ee83..dafd532 100644 --- a/flake.nix +++ b/flake.nix @@ -30,6 +30,12 @@ nixos-hardware = { url = "github:NixOS/nixos-hardware/master"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + + wrapper-manager = { + url = "github:viperML/wrapper-manager"; + inputs.nixpkgs.follows = "nixpkgs"; }; lanzaboote = { diff --git a/home/default.nix b/home/default.nix index e793b1d..0fdb7ec 100644 --- a/home/default.nix +++ b/home/default.nix @@ -1,6 +1,30 @@ { config, inputs, pkgs, ... }: -{ +let + electronWaylandFlags = [ + "--enable-features=UseOzonePlatform" + "--ozone-platform=wayland" + ]; + wrapped-sw = inputs.wrapper-manager.lib.build { + inherit pkgs; + modules = [ + ({ pkgs, ... }: { + wrappers.spotify = { + basePackage = pkgs.spotify; + flags = electronWaylandFlags; + }; + wrappers.element = { + basePackage = pkgs.element-desktop; + flags = electronWaylandFlags; + }; + wrappers.discord = { + basePackage = pkgs.discord; + flags = electronWaylandFlags; + }; + }) + ]; + }; +in { imports = [ ./modules ../nixos/modules/nixos-config.nix @@ -126,13 +150,11 @@ kitty # Desktop - discord # Chat + # vesktop # Chat telegram-desktop # Chat - element-desktop # Chat cinny-desktop # Chat ffmpeg # Video Support (dslr) - spotify # obsidian # Text Editor comma @@ -142,6 +164,8 @@ pinta easyeffects + + wrapped-sw ]; stateVersion = "23.05"; -- 2.48.1