about summary refs log tree commit diff
path: root/home/profiles/gui/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'home/profiles/gui/default.nix')
-rw-r--r--home/profiles/gui/default.nix111
1 files changed, 53 insertions, 58 deletions
diff --git a/home/profiles/gui/default.nix b/home/profiles/gui/default.nix
index 838d2ab..cba6747 100644
--- a/home/profiles/gui/default.nix
+++ b/home/profiles/gui/default.nix
@@ -76,7 +76,17 @@ in
     gtk.enable = true;
     gtk.iconTheme.package = pkgs.papirus-icon-theme;
     gtk.iconTheme.name = neotheme.gtk.iconTheme.dark;
-    gtk.theme.package = (pkgs.orchis-theme.override { tweaks = [ "primary" "compact" ]; });
+    gtk.theme.package = (pkgs.orchis-theme.override { tweaks = [ "primary" "compact" ]; }).overrideAttrs(old: {
+      version = "unstable-2024-07-27";
+
+      # TODO: version >2024-05-30
+      src = pkgs.fetchFromGitHub {
+        repo = "Orchis-theme";
+        owner = "vinceliuice";
+        rev = "ac16750c3fb3499d01eb21b04c4347e3059809e1";
+        hash = "sha256-tGuw5x85qtuAmUalbYywtOELC1yheaOnfZlCHYCWsIQ=";
+      };
+    });
     gtk.theme.name = neotheme.gtk.theme.dark;
     gtk.font.name = "${cfg.font.name} ${toString cfg.font.size}";
 
@@ -84,6 +94,7 @@ in
 
     home.packages = [
       # Sway
+      pkgs.alsa-utils
       pkgs.autotiling
       pkgs.brightnessctl
       pkgs.blueberry
@@ -105,26 +116,17 @@ in
     ];
 
     home.sessionVariables = {
-      # Disabled as Element/Discord currently uses an old version of Electron
-      # that doesn't support IM.
-      # NIXOS_OZONE_WL = 1; # NOTE: might cause problems with old electron
+      NIXOS_OZONE_WL = 1; # NOTE: might cause problems with old electron
       _JAVA_AWT_WM_NONREPARENTING = 1; # Fix 'grey screen' issue on java apps
       SDL_VIDEODRIVER = "wayland";
+      # TODO: https://github.com/qutebrowser/qutebrowser/discussions/7938
+      QT_SCALE_FACTOR_ROUNDING_POLICY = "RoundPreferFloor";
     };
 
     wayland.windowManager.sway = {
       enable = true;
 
-      package =
-        if cfg.laptop.enable then
-          options.wayland.windowManager.sway.package.default.override
-            (prev: {
-              sway-unwrapped = prev.sway-unwrapped.override (s-prev: {
-                wlroots = s-prev.wlroots.overrideAttrs {
-                  patches = [ ../../../overlays/patches/wlroots-displaylink/DisplayLink_v2.patch ];
-                };
-              });
-            }) else options.wayland.windowManager.sway.package.default;
+      package = options.wayland.windowManager.sway.package.default;
 
       wrapperFeatures = {
         base = true;
@@ -164,16 +166,45 @@ in
       waybar = {
         enable = config.wayland.windowManager.sway.enable;
 
-        settings = [ (import ./config/waybar/settings.nix { inherit config lib neotheme; }) ];
+        settings = [ (import ./config/waybar/settings.nix { inherit config lib pkgs neotheme; }) ];
 
         style = import ./config/waybar/style.nix { inherit config neotheme; };
       };
     };
 
     services = {
-      dunst = {
+      darkman = {
         enable = true;
-        settings = import ./config/dunst.nix { inherit config neotheme; };
+        settings = {
+          lat = 36.5;
+          lng = 127.2;
+          usegeoclue = true;
+        };
+
+        darkModeScripts = {
+          gtk-theme = ''
+            ${pkgs.dconf}/bin/dconf write \
+              /org/gnome/desktop/interface/color-scheme "'prefer-dark'"
+
+            ${pkgs.dconf}/bin/dconf write \
+              /org/gnome/desktop/interface/gtk-theme "'${neotheme.gtk.theme.dark}'"
+
+            ${pkgs.dconf}/bin/dconf write \
+              /org/gnome/desktop/interface/icon-theme "'${neotheme.gtk.iconTheme.dark}'"
+          '';
+        };
+        lightModeScripts = {
+          gtk-theme = ''
+            ${pkgs.dconf}/bin/dconf write \
+              /org/gnome/desktop/interface/color-scheme "'prefer-light'"
+
+            ${pkgs.dconf}/bin/dconf write \
+              /org/gnome/desktop/interface/gtk-theme "'${neotheme.gtk.theme.light}'"
+
+            ${pkgs.dconf}/bin/dconf write \
+              /org/gnome/desktop/interface/icon-theme "'${neotheme.gtk.iconTheme.light}'"
+          '';
+        };
       };
 
       kanshi = {
@@ -206,6 +237,10 @@ in
         ];
       };
 
+      mako = {
+        enable = true;
+      } // import ./config/mako.nix { inherit config neotheme; };
+
       swayidle =
         let
           # TODO: remove when >1.6.11
@@ -247,13 +282,7 @@ in
             { timeout = 270; command = "${pkgs.libnotify}/bin/notify-send -t 30000 'Locking screen in 30 seconds'"; }
             # 5m
             { timeout = 300; command = lockCommand; }
-          ] ++ lib.optionals (!cfg.laptop.enable)
-            [{
-              # 10m (desktop only)
-              timeout = 600;
-              command = "${config.wayland.windowManager.sway.package}/bin/swaymsg 'output * dpms off'";
-              resumeCommand = "${config.wayland.windowManager.sway.package}/bin/swaymsg 'output * dpms on'";
-            }] ++ [
+          ] ++ [
             {
               # 10m on laptops, 15m on desktop
               timeout = if cfg.laptop.enable then 600 else 900;
@@ -267,40 +296,6 @@ in
         latitude = "36.5";
         longitude = "127.2";
       };
-
-      darkman = {
-        enable = true;
-        settings = {
-          lat = 36.5;
-          lng = 127.2;
-          usegeoclue = true;
-        };
-
-        darkModeScripts = {
-          gtk-theme = ''
-            ${pkgs.dconf}/bin/dconf write \
-              /org/gnome/desktop/interface/color-scheme "'prefer-dark'"
-
-            ${pkgs.dconf}/bin/dconf write \
-              /org/gnome/desktop/interface/gtk-theme "'${neotheme.gtk.theme.dark}'"
-
-            ${pkgs.dconf}/bin/dconf write \
-              /org/gnome/desktop/interface/icon-theme "'${neotheme.gtk.iconTheme.dark}'"
-          '';
-        };
-        lightModeScripts = {
-          gtk-theme = ''
-            ${pkgs.dconf}/bin/dconf write \
-              /org/gnome/desktop/interface/color-scheme "'prefer-light'"
-
-            ${pkgs.dconf}/bin/dconf write \
-              /org/gnome/desktop/interface/gtk-theme "'${neotheme.gtk.theme.light}'"
-
-            ${pkgs.dconf}/bin/dconf write \
-              /org/gnome/desktop/interface/icon-theme "'${neotheme.gtk.iconTheme.light}'"
-          '';
-        };
-      };
     };
   };
 }