From 14a5f9582220a31a7477b2c3c324645e31b64bc3 Mon Sep 17 00:00:00 2001 From: Zoe Roux Date: Tue, 14 Nov 2023 16:21:46 +0100 Subject: [PATCH] Add gnome control center --- flake.lock | 30 +++++++++++++++--------------- modules/common/apps.nix | 3 ++- modules/dwl/ags/modules/network.js | 2 +- modules/dwl/default.nix | 6 ++++++ modules/dwl/home.nix | 1 + overlays/default.nix | 13 ++++++++++--- 6 files changed, 35 insertions(+), 20 deletions(-) diff --git a/flake.lock b/flake.lock index de23b07..3f995be 100644 --- a/flake.lock +++ b/flake.lock @@ -159,11 +159,11 @@ ] }, "locked": { - "lastModified": 1699368917, - "narHash": "sha256-nUtGIWf86BOkUbtksWtfglvCZ/otP0FTZlQH8Rzc7PA=", + "lastModified": 1699783872, + "narHash": "sha256-4zTwLT2LL45Nmo6iwKB3ls3hWodVP9DiSWxki/oewWE=", "owner": "nix-community", "repo": "home-manager", - "rev": "6a8444467c83c961e2f5ff64fb4f422e303c98d3", + "rev": "280721186ab75a76537713ec310306f0eba3e407", "type": "github" }, "original": { @@ -197,11 +197,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1699553831, - "narHash": "sha256-EFBYtKE0U14Y5hXc6iXGhUxTzOrYYbOTtwbYWyj53Wc=", + "lastModified": 1699831665, + "narHash": "sha256-hfFVGgLYIIht1MAJb/P8PCOnnJLy2GkOWh22z0wAF5U=", "owner": "neovim", "repo": "neovim", - "rev": "ae8ca79920a8d0e928ac1502a10d1d063a06cae5", + "rev": "d2983dcdb1ca003b5fd42d7d99fd98310aa1cd56", "type": "github" }, "original": { @@ -220,11 +220,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1699574693, - "narHash": "sha256-WjCaT/PtmhAQncXNhaOF5oYi/8A8S5qmYL3cZ7rUfE4=", + "lastModified": 1699834167, + "narHash": "sha256-T9SxEnpx2u6abMC4mBLk3sCHsJOUbjJtKeYprF+BHis=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "0542d71d5decc351f752b864669f8bdc71898942", + "rev": "c7a539280a90f5f3dccf9ecd740bcabb3c06e861", "type": "github" }, "original": { @@ -235,11 +235,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1699343069, - "narHash": "sha256-s7BBhyLA6MI6FuJgs4F/SgpntHBzz40/qV0xLPW6A1Q=", + "lastModified": 1699725108, + "narHash": "sha256-NTiPW4jRC+9puakU4Vi8WpFEirhp92kTOSThuZke+FA=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "ec750fd01963ab6b20ee1f0cb488754e8036d89d", + "rev": "911ad1e67f458b6bcf0278fa85e33bb9924fed7e", "type": "github" }, "original": { @@ -251,11 +251,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1699099776, - "narHash": "sha256-X09iKJ27mGsGambGfkKzqvw5esP1L/Rf8H3u3fCqIiU=", + "lastModified": 1699781429, + "narHash": "sha256-UYefjidASiLORAjIvVsUHG6WBtRhM67kTjEY4XfZOFs=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "85f1ba3e51676fa8cc604a3d863d729026a6b8eb", + "rev": "e44462d6021bfe23dfb24b775cc7c390844f773d", "type": "github" }, "original": { diff --git a/modules/common/apps.nix b/modules/common/apps.nix index 2e12a94..56f653a 100644 --- a/modules/common/apps.nix +++ b/modules/common/apps.nix @@ -5,6 +5,7 @@ ... }: with lib; let + # When editing this, don't forget to edit home.sessionVariables. browser = "firefox.desktop"; editor = "nvim.desktop"; pdf = "org.pwmt.zathura.desktop"; @@ -32,7 +33,7 @@ in { home.sessionVariables = rec { TERMINAL = "kitty"; - BROWSER = "google-chrome-stable"; + BROWSER = "firefox"; DEFAULT_BROWSER = BROWSER; # For rider FLATPAK_ENABLE_SDK_EXT = "*"; diff --git a/modules/dwl/ags/modules/network.js b/modules/dwl/ags/modules/network.js index 8850bd3..aed05a3 100644 --- a/modules/dwl/ags/modules/network.js +++ b/modules/dwl/ags/modules/network.js @@ -106,7 +106,7 @@ export const Selection = (props) => Separator(), Button({ onClicked: () => { - execAsync("nm-connection-editor").catch(print); + execAsync("gnome-control-center").catch(print); App.closeWindow("quicksettings"); }, child: Label({ diff --git a/modules/dwl/default.nix b/modules/dwl/default.nix index 4f357e1..2586b5a 100644 --- a/modules/dwl/default.nix +++ b/modules/dwl/default.nix @@ -63,6 +63,12 @@ }; }; + # needed for GNOME services outside of GNOME Desktop + services = { + dbus.packages = [pkgs.gcr]; + udev.packages = with pkgs; [gnome.gnome-settings-daemon]; + }; + programs.dconf.enable = true; services.dbus.enable = true; xdg.portal = { diff --git a/modules/dwl/home.nix b/modules/dwl/home.nix index e8c27b0..7688832 100644 --- a/modules/dwl/home.nix +++ b/modules/dwl/home.nix @@ -41,6 +41,7 @@ in { covercolors ydotool fusuma + gnome-control-center gnome.gnome-weather shikane ]; diff --git a/overlays/default.nix b/overlays/default.nix index ba5c051..166113a 100644 --- a/overlays/default.nix +++ b/overlays/default.nix @@ -2,19 +2,22 @@ dwl-source, flood, }: self: super: let - enableWayland = drv: bins: + wrapProgram = drv: bins: wrapProgramFlags: super.symlinkJoin { name = drv.name; paths = [drv]; buildInputs = [super.makeWrapper]; postBuild = super.lib.concatStrings (map (bin: '' wrapProgram $out/bin/${bin} \ - --add-flags "--enable-features=UseOzonePlatform" \ - --add-flags "--ozone-platform=wayland" + ${wrapProgramFlags} '') bins); }; + enableWayland = drv: bins: wrapProgram drv bins '' + --add-flags "--enable-features=UseOzonePlatform" \ + --add-flags "--ozone-platform=wayland"''; in { + # Patch dwl. dwl = (super.dwl.override {conf = ../modules/dwl/config.h;}) @@ -46,6 +49,7 @@ in { ]; }); + # Use my fork of flood to enable smart scripts. flood = self.pkgs.buildNpmPackage { pname = "flood"; version = "4.7.0"; @@ -67,6 +71,9 @@ in { }; }; + # Gnome-control-center can only be launched if XDG_CURRENT_DESKTOP is GNOME. + gnome-control-center = wrapProgram super.gnome.gnome-control-center ["gnome-control-center"] "--set XDG_CURRENT_DESKTOP GNOME"; + slack = enableWayland super.slack ["slack"]; discord = enableWayland super.discord ["discord" "Discord"]; vscode = enableWayland super.vscode ["code"];