about summary refs log tree commit diff
diff options
context:
space:
mode:
authordevhell <devhell@mailfresser.de>2022-12-05 12:43:58 +0000
committerdevhell <devhell@mailfresser.de>2022-12-05 12:43:58 +0000
commit2ff13ca70b4cca8aad20b36eea026e3481ada632 (patch)
tree5dd8395f432b236f6ecc6a6a6d5c287e013e0947
parent32b8af8c826fb7be143e692d3f13b9572841d318 (diff)
treewide: switch from Xorg to wayland/sway
-rw-r--r--machines/devhell/gunnr.nix26
-rw-r--r--machines/devhell/herja.nix40
-rw-r--r--modules/user/devhell/profiles/base.nix15
-rw-r--r--modules/user/devhell/profiles/packages.nix1
-rw-r--r--modules/user/devhell/profiles/services.nix68
5 files changed, 49 insertions, 101 deletions
diff --git a/machines/devhell/gunnr.nix b/machines/devhell/gunnr.nix
index fdaa377d..3ff2abd3 100644
--- a/machines/devhell/gunnr.nix
+++ b/machines/devhell/gunnr.nix
@@ -107,32 +107,6 @@
 
   services.zfs.autoScrub.enable = true;
 
-  services.xserver = {
-    enable = true;
-    layout = "dvorak";
-    videoDrivers = [ "amdgpu" ];
-
-    # XXX: Factor out and make DRY, because a lot of the stuff here is
-    # duplicated in the other machine configurations.
-    displayManager.sessionCommands = ''
-      ${pkgs.xbindkeys}/bin/xbindkeys &
-      ${pkgs.nitrogen}/bin/nitrogen --restore &
-      ${pkgs.rofi}/bin/rofi &
-      ${pkgs.xorg.xrdb}/bin/xrdb "${pkgs.writeText "xrdb.conf" ''
-        Xft.dpi:                     96
-        Xft.antialias:               true
-        Xft.hinting:                 full
-        Xft.hintstyle:               hintslight
-        Xft.rgba:                    rgb
-        Xft.lcdfilter:               lcddefault
-        Xft.autohint:                1
-        Xcursor.theme:               Vanilla-DMZ-AA
-        Xcursor.size:                22
-        *.charClass:33:48,35:48,37:48,43:48,45-47:48,61:48,63:48,64:48,95:48,126:48,35:48,58:48
-      ''}"
-    '';
-   };
-
    services.timesyncd = {
      servers = [ "ntp.canterbury.ac.uk" ];
    };
diff --git a/machines/devhell/herja.nix b/machines/devhell/herja.nix
index 904b69d1..d7ee2ecf 100644
--- a/machines/devhell/herja.nix
+++ b/machines/devhell/herja.nix
@@ -41,7 +41,6 @@
     };
   };
 
-
   fileSystems."/" = {
     device = "/dev/disk/by-uuid/34c21c91-6722-427d-882b-6da0e2f57f50";
     fsType = "btrfs";
@@ -120,45 +119,6 @@
   services.illum.enable = true;
   services.fwupd.enable = true;
 
-  services.xserver = {
-    enable = true;
-    layout = "gb";
-    videoDrivers = [ "amdgpu" ];
-
-    libinput = {
-      enable = true;
-      touchpad = {
-        disableWhileTyping = true;
-        middleEmulation = true;
-      };
-    };
-#    synaptics = {
-#      enable = true;
-#      twoFingerScroll = true;
-#      palmDetect = true;
-#    };
-
-    # XXX: Factor out and make DRY, because a lot of the stuff here is
-    # duplicated in the other machine configurations.
-    displayManager.sessionCommands = ''
-      ${pkgs.xbindkeys}/bin/xbindkeys &
-      ${pkgs.nitrogen}/bin/nitrogen --restore &
-      ${pkgs.rofi}/bin/rofi &
-      ${pkgs.xorg.xrdb}/bin/xrdb "${pkgs.writeText "xrdb.conf" ''
-        Xft.dpi:                     96
-        Xft.antialias:               true
-        Xft.hinting:                 full
-        Xft.hintstyle:               hintslight
-        Xft.rgba:                    rgb
-        Xft.lcdfilter:               lcddefault
-        Xft.autohint:                1
-        Xcursor.theme:               Vanilla-DMZ-AA
-        Xcursor.size:                22
-        *.charClass:33:48,35:48,37:48,43:48,45-47:48,61:48,63:48,64:48,95:48,126:48,35:48,58:48
-      ''}"
-    '';
-  };
-
   #### Machine-specific packages configuration ####
 
   vuizvui.user.devhell.profiles.packages.enable = true;
diff --git a/modules/user/devhell/profiles/base.nix b/modules/user/devhell/profiles/base.nix
index 238c9eb1..3a4afe70 100644
--- a/modules/user/devhell/profiles/base.nix
+++ b/modules/user/devhell/profiles/base.nix
@@ -119,6 +119,16 @@ in {
     };
 
     environment = {
+      sessionVariables = {
+        XDG_SESSION_TYPE = "wayland";
+        XDG_CURRENT_DESKTOP = "sway";
+        MOZ_ENABLE_WAYLAND = "1";
+        MOZ_USE_XINPUT2 = "1";
+        SDL_VIDEODRIVER = "wayland";
+        QT_QPA_PLATFORM = "wayland-egl";
+        QT_WAYLAND_DISABLE_WINDOWDECORATION = "1";
+        XKB_DEFAULT_LAYOUT = "gb";
+      };
       shellInit = ''
         export GPG_AGENT_INFO=$HOME/.gnupg/S.gpg-agent
         export LIBVIRT_DEFAULT_URI=qemu:///system
@@ -135,6 +145,11 @@ in {
       shells = [ pkgs.zsh ];
     };
 
+    xdg.portal = {
+      enable = true;
+      extraPortals = with pkgs; [ xdg-desktop-portal-wlr xdg-desktop-portal-gtk ];
+    };
+
     fonts = {
       fontconfig = {
         enable = true;
diff --git a/modules/user/devhell/profiles/packages.nix b/modules/user/devhell/profiles/packages.nix
index 554962e9..43400ac3 100644
--- a/modules/user/devhell/profiles/packages.nix
+++ b/modules/user/devhell/profiles/packages.nix
@@ -202,6 +202,7 @@ in {
       ntfs3g
       ntfsprogs
       obs-studio
+      onefetch
       oneshot
       openssl
       p7zip
diff --git a/modules/user/devhell/profiles/services.nix b/modules/user/devhell/profiles/services.nix
index 2ede83a7..76d9d62a 100644
--- a/modules/user/devhell/profiles/services.nix
+++ b/modules/user/devhell/profiles/services.nix
@@ -25,13 +25,44 @@ in {
 
     location.provider = "geoclue2";
 
+    programs.sway = {
+      enable = true;
+      wrapperFeatures.gtk = true;
+      extraPackages = with pkgs; [
+        rofi-wayland
+        alacritty
+        waybar
+        i3status-rust
+        swayidle
+        swaylock-effects
+        wl-clipboard
+        swaybg
+      ];
+    };
+
+    services.greetd = {
+      enable = true;
+      settings = {
+        default_session = {
+          command = "${pkgs.greetd.tuigreet}/bin/tuigreet --time --cmd sway";
+          user = "greeter";
+          vt = 3;
+        };
+      };
+    };
+
+    services.dbus.packages = [ pkgs.mako ];
+
     services = {
       pcscd.enable = true;
       gpm.enable = true;
       openssh.enable = true;
       udisks2.enable = true;
-      redshift.enable = true;
       haveged.enable = true;
+      redshift = {
+        enable = true;
+        package = pkgs.gammastep;
+      };
       geoclue2 = {
         enable = true;
         enable3G = false;
@@ -49,7 +80,7 @@ in {
       };
 
       picom = {
-        enable = true;
+        enable = false;
         vSync = true;
         backend = "glx";
         fade = true;
@@ -78,39 +109,6 @@ in {
       socketActivation = true;
     };
 
-    services.xserver = {
-      displayManager.defaultSession = "none+i3";
-      displayManager.lightdm = {
-        enable = true;
-        greeters.mini = {
-          enable = true;
-          user = "dev";
-          extraConfig = ''
-            [greeter]
-            show-password-label = true
-            password-label-text = ❯
-            show-input-cursor = false
-            [greeter-theme]
-            border-color = "#3B4252"
-            text-color = "#4C566A"
-            window-color = "#3B4252"
-            layout-space = 5
-            password-background-color = "#3B4252"
-            border-width = 0px
-            password-border-width = 0px
-          '';
-        };
-      };
-    };
-
-    services.xserver.windowManager.i3 = {
-      enable = true;
-      package = pkgs.i3-gaps;
-      extraPackages = with pkgs; [
-        polybar multilockscreen rofi i3-auto-layout
-      ];
-    };
-
     services.journald.extraConfig = ''
       SystemMaxUse = 50M
     '';