From 5a884d2ac64b734ed1addd31d207e7065a767874 Mon Sep 17 00:00:00 2001 From: Kate Temkin Date: Tue, 14 Jan 2025 22:44:42 +0100 Subject: [PATCH] updates & niri fixes --- flake.lock | 126 +++++++++++++++--------- flake.nix | 2 +- nixos/configs/gui/default.nix | 13 +++ nixos/configs/gui/niri.nix | 9 +- nixos/overlays/fixup-signal/default.nix | 26 +++-- nixos/packages/gui.pkgs.nix | 2 +- 6 files changed, 113 insertions(+), 65 deletions(-) diff --git a/flake.lock b/flake.lock index 81b986f..5fb0b92 100644 --- a/flake.lock +++ b/flake.lock @@ -162,11 +162,11 @@ ] }, "locked": { - "lastModified": 1736085891, - "narHash": "sha256-bTl9fcUo767VaSx4Q5kFhwiDpFQhBKna7lNbGsqCQiA=", + "lastModified": 1736819234, + "narHash": "sha256-deQVtIH4UJueELJqluAICUtX7OosD9paTP+5FgbiSwI=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "ba9b3173b0f642ada42b78fb9dfc37ca82266f6c", + "rev": "bd921223ba7cdac346477d7ea5204d6f4736fcc6", "type": "github" }, "original": { @@ -195,6 +195,22 @@ "type": "github" } }, + "firefox-gnome-theme": { + "flake": false, + "locked": { + "lastModified": 1734969791, + "narHash": "sha256-A9PxLienMYJ/WUvqFie9qXrNC2MeRRYw7TG/q7DRjZg=", + "owner": "rafaelmardojai", + "repo": "firefox-gnome-theme", + "rev": "92f4890bd150fc9d97b61b3583680c0524a8cafe", + "type": "github" + }, + "original": { + "owner": "rafaelmardojai", + "repo": "firefox-gnome-theme", + "type": "github" + } + }, "flake-compat": { "flake": false, "locked": { @@ -471,11 +487,11 @@ ] }, "locked": { - "lastModified": 1736066484, - "narHash": "sha256-uTstP36WaFrw+TEHb8nLF14hFPzQBOhmIxzioHCDaL8=", + "lastModified": 1736785676, + "narHash": "sha256-TY0jUwR3EW0fnS0X5wXMAVy6h4Z7Y6a3m+Yq++C9AyE=", "owner": "nix-community", "repo": "home-manager", - "rev": "5ad12b6ea06b84e48f6b677957c74f32d47bdee0", + "rev": "fc52a210b60f2f52c74eac41a8647c1573d2071d", "type": "github" }, "original": { @@ -515,11 +531,11 @@ "pre-commit-hooks": "pre-commit-hooks" }, "locked": { - "lastModified": 1735572323, - "narHash": "sha256-Wjt+PK15IdaOUoI0sgsRzaNMxKQGSROLe9sOd44+fwM=", + "lastModified": 1736817594, + "narHash": "sha256-3bpgIyL50b/tUj8UQijAL/4LCEJ/dJnfWvSAxHmV/94=", "ref": "refs/heads/main", - "rev": "5c7ea4f446de58aa64f78087bb4ec26b9c4111aa", - "revCount": 16600, + "rev": "acbb3cff2d1a8b998135dc6f48cdd7fda85a3124", + "revCount": 16621, "type": "git", "url": "https://git@git.lix.systems/lix-project/lix" }, @@ -558,11 +574,11 @@ "xwayland-satellite-unstable": "xwayland-satellite-unstable" }, "locked": { - "lastModified": 1736077679, - "narHash": "sha256-psC+8mng3Gy7fjCkFGW9b4/YTcK781LEbCxCnfNHtGw=", + "lastModified": 1736855225, + "narHash": "sha256-2+ayH/0B37BLPJy4thO1titHIrVCoDdCtdnl0CyV8kc=", "owner": "sodiboo", "repo": "niri-flake", - "rev": "0bf98d5938dc5f0a7103132945aa301236284401", + "rev": "b013bedcff63b5cdbb9cd9841ac339361fc5cfcc", "type": "github" }, "original": { @@ -574,16 +590,16 @@ "niri-stable": { "flake": false, "locked": { - "lastModified": 1731483594, - "narHash": "sha256-Qjf7alRbPPERfiZsM9EMKX+HwjESky1tieh5PJIkLwE=", + "lastModified": 1736614405, + "narHash": "sha256-AJ1rlgNOPb3/+DbS5hkhm21t6Oz8IgqLllwmZt0lyzk=", "owner": "YaLTeR", "repo": "niri", - "rev": "75c79116a7e40cbc0e110ce0cdd500e896458679", + "rev": "e05bc269e678ecf828b96ae79c991c13b00b38a5", "type": "github" }, "original": { "owner": "YaLTeR", - "ref": "v0.1.10.1", + "ref": "v25.01", "repo": "niri", "type": "github" } @@ -591,11 +607,11 @@ "niri-unstable": { "flake": false, "locked": { - "lastModified": 1736073506, - "narHash": "sha256-c8UMa0Yb8hYm9D3Q/k+GsRxsk8oTYy2OJywCHjWXrlU=", + "lastModified": 1736851192, + "narHash": "sha256-579fAoE9hZtuZHlYLMH0mICaak1HPEmymiKdF/HJAig=", "owner": "YaLTeR", "repo": "niri", - "rev": "89678c7b1e6ebe6ec5411db5a2b99bd6bea63565", + "rev": "0df7a085de6fb0ebfe7af640e60fb496e52656aa", "type": "github" }, "original": { @@ -687,11 +703,11 @@ }, "nix-hardware": { "locked": { - "lastModified": 1735388221, - "narHash": "sha256-e5IOgjQf0SZcFCEV/gMGrsI0gCJyqOKShBQU0iiM3Kg=", + "lastModified": 1736441705, + "narHash": "sha256-OL7leZ6KBhcDF3nEKe4aZVfIm6xQpb1Kb+mxySIP93o=", "owner": "nixos", "repo": "nixos-hardware", - "rev": "7c674c6734f61157e321db595dbfcd8523e04e19", + "rev": "8870dcaff63dfc6647fb10648b827e9d40b0a337", "type": "github" }, "original": { @@ -746,11 +762,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1735388221, - "narHash": "sha256-e5IOgjQf0SZcFCEV/gMGrsI0gCJyqOKShBQU0iiM3Kg=", + "lastModified": 1736441705, + "narHash": "sha256-OL7leZ6KBhcDF3nEKe4aZVfIm6xQpb1Kb+mxySIP93o=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "7c674c6734f61157e321db595dbfcd8523e04e19", + "rev": "8870dcaff63dfc6647fb10648b827e9d40b0a337", "type": "github" }, "original": { @@ -840,11 +856,11 @@ }, "nixpkgs-stable_2": { "locked": { - "lastModified": 1735922141, - "narHash": "sha256-vk0xwGZSlvZ/596yxOtsk4gxsIx2VemzdjiU8zhjgWw=", + "lastModified": 1736684107, + "narHash": "sha256-vH5mXxEvZeoGNkqKoCluhTGfoeXCZ1seYhC2pbMN0sg=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "d29ab98cd4a70a387b8ceea3e930b3340d41ac5a", + "rev": "635e887b48521e912a516625eee7df6cf0eba9c1", "type": "github" }, "original": { @@ -903,11 +919,11 @@ }, "nixpkgs_5": { "locked": { - "lastModified": 1735834308, - "narHash": "sha256-dklw3AXr3OGO4/XT1Tu3Xz9n/we8GctZZ75ZWVqAVhk=", + "lastModified": 1736798957, + "narHash": "sha256-qwpCtZhSsSNQtK4xYGzMiyEDhkNzOCz/Vfu4oL2ETsQ=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "6df24922a1400241dae323af55f30e4318a6ca65", + "rev": "9abb87b552b7f55ac8916b6fc9e5cb486656a2f3", "type": "github" }, "original": { @@ -919,11 +935,11 @@ }, "nixpkgs_6": { "locked": { - "lastModified": 1735834308, - "narHash": "sha256-dklw3AXr3OGO4/XT1Tu3Xz9n/we8GctZZ75ZWVqAVhk=", + "lastModified": 1736798957, + "narHash": "sha256-qwpCtZhSsSNQtK4xYGzMiyEDhkNzOCz/Vfu4oL2ETsQ=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "6df24922a1400241dae323af55f30e4318a6ca65", + "rev": "9abb87b552b7f55ac8916b6fc9e5cb486656a2f3", "type": "github" }, "original": { @@ -950,10 +966,10 @@ }, "nixpkgs_8": { "locked": { - "lastModified": 1734424634, - "narHash": "sha256-cHar1vqHOOyC7f1+tVycPoWTfKIaqkoe1Q6TnKzuti4=", - "path": "/nix/store/6zgbbqlr7nnfxpzkyj7fsl4fpg89jbw0-source", - "rev": "d3c42f187194c26d9f0309a8ecc469d6c878ce33", + "lastModified": 1735834308, + "narHash": "sha256-dklw3AXr3OGO4/XT1Tu3Xz9n/we8GctZZ75ZWVqAVhk=", + "path": "/nix/store/apfqvr9kddcl6fscjvb92p4xdrqzcwk0-source", + "rev": "6df24922a1400241dae323af55f30e4318a6ca65", "type": "path" }, "original": { @@ -1115,6 +1131,7 @@ "base16-fish": "base16-fish", "base16-helix": "base16-helix", "base16-vim": "base16-vim", + "firefox-gnome-theme": "firefox-gnome-theme", "flake-compat": "flake-compat_3", "flake-utils": "flake-utils_5", "git-hooks": "git-hooks", @@ -1126,14 +1143,15 @@ "systems": "systems_6", "tinted-foot": "tinted-foot", "tinted-kitty": "tinted-kitty", - "tinted-tmux": "tinted-tmux" + "tinted-tmux": "tinted-tmux", + "tinted-zed": "tinted-zed" }, "locked": { - "lastModified": 1736011580, - "narHash": "sha256-8gmk/i9ZA5C6LGRnqHb5sZ8UKaqT5GnS6XxeSPMSz+s=", + "lastModified": 1736779864, + "narHash": "sha256-OgKIMua33t0ZcdcFiUntFKidwhZrRZUTLlVHJ+mAiZQ=", "owner": "danth", "repo": "stylix", - "rev": "7dfcdb410118dcd02ba1d85a2179a6f1c877403f", + "rev": "934e2bfe7954d6c94f25d45cb12a8b3547825699", "type": "github" }, "original": { @@ -1304,6 +1322,22 @@ "type": "github" } }, + "tinted-zed": { + "flake": false, + "locked": { + "lastModified": 1725758778, + "narHash": "sha256-8P1b6mJWyYcu36WRlSVbuj575QWIFZALZMTg5ID/sM4=", + "owner": "tinted-theming", + "repo": "base16-zed", + "rev": "122c9e5c0e6f27211361a04fae92df97940eccf9", + "type": "github" + }, + "original": { + "owner": "tinted-theming", + "repo": "base16-zed", + "type": "github" + } + }, "waveforms": { "inputs": { "nixpkgs": "nixpkgs_8" @@ -1342,11 +1376,11 @@ "xwayland-satellite-unstable": { "flake": false, "locked": { - "lastModified": 1734745564, - "narHash": "sha256-JQNl4pqonVVPQ2JzEOLUcPVRNj//FFFNRDyvQoOkG7s=", + "lastModified": 1736487362, + "narHash": "sha256-4kGoOA7FgK9N2mzS+TFEn41kUUNY6KwdiA/0rqlr868=", "owner": "Supreeeme", "repo": "xwayland-satellite", - "rev": "94da1af75326d89ecb12aba0cc9362e93ffdc766", + "rev": "8f55e27f63a749881c4bbfbb6b1da028342a91d1", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index f2173f1..80b01dc 100644 --- a/flake.nix +++ b/flake.nix @@ -168,7 +168,7 @@ ./nixos/configs/fonts-linux.nix ./nixos/configs/music-server.nix - #./nixos/overlays/fixup-signal + ./nixos/overlays/fixup-signal ./nixos/overlays/fixup-imhex.nix ./nixos/overlays/customize-gajim ./nixos/overlays/sddm-no-vnc.nix diff --git a/nixos/configs/gui/default.nix b/nixos/configs/gui/default.nix index 7489324..9fc648b 100644 --- a/nixos/configs/gui/default.nix +++ b/nixos/configs/gui/default.nix @@ -49,6 +49,7 @@ xdg-desktop-portal-gtk xdg-desktop-portal-gnome + kdePackages.kwallet # Terrible hack to type things in Wayland. (pkgs.writeScriptBin "haxtype" '' @@ -93,6 +94,11 @@ cat $TEMPFILE | ${wl-clipboard}/bin/wl-copy -t $MIMETYPE rm $TEMPFILE '') + + # Set up kwallet to run as a dbus handler. + (pkgs.writeTextDir "share/dbus-1/services/org.freedesktop.secrets.service" ''[D-BUS Service] +Name=org.freedesktop.secrets +Exec=${pkgs.kdePackages.kwallet}/bin/kwalletd6'') ]; xdg.portal = { @@ -102,9 +108,16 @@ extraPortals = with pkgs; [ xdg-desktop-portal-gtk xdg-desktop-portal-gnome + + # Make kwallet work under niri, too. + (pkgs.writeTextDir "share/xdg-desktop-portal/portals/kwallet-niri.portal" ''[portal] +DBusName=org.freedesktop.impl.portal.desktop.kwallet +Interfaces=org.freedesktop.impl.portal.Secret; +UseIn=niri'') ]; }; + # Set up everything per-user but niri; which is in its own module. home-manager.users.deprekated = { pkgs, config, ... }: diff --git a/nixos/configs/gui/niri.nix b/nixos/configs/gui/niri.nix index 3dff38b..b9f2bfc 100644 --- a/nixos/configs/gui/niri.nix +++ b/nixos/configs/gui/niri.nix @@ -17,6 +17,9 @@ in pkgs.wlrctl ]; + # Don't let the niri-flake fuck with our secret provider, kwallet. + services.gnome.gnome-keyring.enable = lib.mkForce false; + # # Niri configuration. # @@ -78,11 +81,13 @@ in #!${pkgs.bash}/bin/bash while true; do - ${niri-flake.packages."${pkgs.system}".xwayland-satellite-unstable}/bin/xwayland-satellite + ${pkgs.xwayland-satellite}/bin/xwayland-satellite done ''; in { + # Don't let the niri-flake fuck with our secret provider, kwallet. + services.gnome-keyring.enable = lib.mkForce false; # # Core Niri settings. @@ -321,8 +326,6 @@ in niri-init = pkgs.writeScriptBin "niri-init" '' #!${pkgs.bash}/bin/bash systemctl --user restart swaybg - niri msg action spawn -- gnome-keyring - sleep 2 systemctl --user stop waybar diff --git a/nixos/overlays/fixup-signal/default.nix b/nixos/overlays/fixup-signal/default.nix index beac4ec..7019ce0 100644 --- a/nixos/overlays/fixup-signal/default.nix +++ b/nixos/overlays/fixup-signal/default.nix @@ -14,28 +14,26 @@ let prev'.asar ]; - # Fix things to the version that our patch applies to. - version = "7.18.0"; - src = prev'.fetchurl { - url = "https://updates.signal.org/desktop/apt/pool/s/signal-desktop/signal-desktop_${version}_amd64.deb"; - hash = "sha256-xI3GCs9ZekENktuSf9NNxoOOGuYtKrOV8Ng3eFy493M="; - }; - # Do terrible, terrible things. preFixup = prev.preFixup + '' + # Make this work with KDE wallet on non-kde. + gappsWrapperArgs+=( + --add-flags "--password-store=kwallet6" + ) + # Fix up the main.js in the app to actually show the window. - pushd $out/lib/Signal/resources/ + #pushd $out/lib/Signal/resources/ - asar extract app.asar app-unpacked + #asar extract app.asar app-unpacked - pushd app-unpacked - patch -p1 < ${./01-show-window.patch} - popd + #pushd app-unpacked + #patch -p1 < ${./01-show-window.patch} + #popd - asar pack app-unpacked app.asar - popd + #asar pack app-unpacked app.asar + #popd ''; } diff --git a/nixos/packages/gui.pkgs.nix b/nixos/packages/gui.pkgs.nix index ae374ee..100e932 100644 --- a/nixos/packages/gui.pkgs.nix +++ b/nixos/packages/gui.pkgs.nix @@ -13,7 +13,7 @@ let # Hack wine to not explode when starting MLO. - wineWayland = (pkgs.wineWowPackages.stableFull.override { waylandSupport = true; }); + wineWayland = (pkgs.wineWowPackages.stableFull.override { waylandSupport = false; }); wine = wineWayland.overrideAttrs (prev: { patches = prev.patches ++ [