From a9d67fd51f336bb13a1652aec3fd1e9110d86e3a Mon Sep 17 00:00:00 2001
From: Nate Anderson <n8r@tuta.io>
Date: Mon, 22 Jan 2024 14:25:27 -0700
Subject: [PATCH] Added gdm and amd driver configuration complete

---
 nate/modules/home-manager/home.nix |  2 ++
 nate/modules/sway/sway_conf.nix    | 25 ++++++++++++++++++++++---
 2 files changed, 24 insertions(+), 3 deletions(-)

diff --git a/nate/modules/home-manager/home.nix b/nate/modules/home-manager/home.nix
index f2f10b7..ad45a00 100644
--- a/nate/modules/home-manager/home.nix
+++ b/nate/modules/home-manager/home.nix
@@ -60,6 +60,7 @@
     #
     # Gaming
     #
+    amdgpu_top
     wine-wayland
     webcord
 
@@ -84,6 +85,7 @@
     imv
     mpv
     gimp
+    ffmpeg
 
     #
     # Communication
diff --git a/nate/modules/sway/sway_conf.nix b/nate/modules/sway/sway_conf.nix
index 2de1143..9885b22 100644
--- a/nate/modules/sway/sway_conf.nix
+++ b/nate/modules/sway/sway_conf.nix
@@ -113,26 +113,45 @@
         services.gvfs.enable = true;  # thunar functionalities
         services.openssh.enable = true;
         services.dbus.enable = true;
+
+        # Audio
+        security.rtkit.enable = true;
         services.pipewire = {
           enable = true;
           alsa.enable = true;
+          alsa.support32Bit = true;
           pulse.enable = true;
+          wireplumber.enable = true;
         };
-
+        sound.enable = false;
         ###
         ##  Misc
         ###
-        sound.enable = true;
+
         # Necessary for home-manager sway setup
         security.polkit.enable = true;
 
-        # Use amdgpu-pro drivers for davinci
+        services.xserver.enable = true;
+        services.xserver.displayManager.defaultSession = "sway";
+        services.xserver.displayManager.gdm.enable = true;
+        services.xserver.displayManager.gdm.wayland = true;
+
+        services.xserver.videoDrivers = [ "amdgpu" ];
+        # Enable HIP
+        systemd.tmpfiles.rules = [
+            "L+    /opt/rocm/hip   -    -    -     -    ${pkgs.rocmPackages.clr}"
+        ];
         # services.xserver.videoDrivers = [ "amdgpu-pro" ];
         hardware.opengl = {
             # Mesa
             enable = true;
             # Vulkan
             driSupport = true;
+            # Rocm support and vulkan drivers
+            extraPackages = with pkgs; [
+                rocmPackages.clr.icd
+                amdvlk
+            ];
         };
     };
 }