diff --git a/flake.lock b/flake.lock
index e7afd01..613fb68 100644
--- a/flake.lock
+++ b/flake.lock
@@ -3,46 +3,47 @@
     "home-manager": {
       "inputs": {
         "nixpkgs": [
-          "nixpkgs"
+          "nixpkgs-unstable"
         ]
       },
       "locked": {
-        "lastModified": 1712759992,
-        "narHash": "sha256-2APpO3ZW4idlgtlb8hB04u/rmIcKA8O7pYqxF66xbNY=",
+        "lastModified": 1718530513,
+        "narHash": "sha256-BmO8d0r+BVlwWtMLQEYnwmngqdXIuyFzMwvmTcLMee8=",
         "owner": "nix-community",
         "repo": "home-manager",
-        "rev": "31357486b0ef6f4e161e002b6893eeb4fafc3ca9",
+        "rev": "a1fddf0967c33754271761d91a3d921772b30d0e",
         "type": "github"
       },
       "original": {
         "owner": "nix-community",
+        "ref": "release-24.05",
         "repo": "home-manager",
         "type": "github"
       }
     },
     "nixpkgs": {
       "locked": {
-        "lastModified": 1712791164,
-        "narHash": "sha256-3sbWO1mbpWsLepZGbWaMovSO7ndZeFqDSdX0hZ9nVyw=",
+        "lastModified": 1719426051,
+        "narHash": "sha256-yJL9VYQhaRM7xs0M867ZFxwaONB9T2Q4LnGo1WovuR4=",
         "owner": "nixos",
         "repo": "nixpkgs",
-        "rev": "1042fd8b148a9105f3c0aca3a6177fd1d9360ba5",
+        "rev": "89c49874fb15f4124bf71ca5f42a04f2ee5825fd",
         "type": "github"
       },
       "original": {
         "owner": "nixos",
-        "ref": "nixos-unstable",
+        "ref": "nixos-24.05",
         "repo": "nixpkgs",
         "type": "github"
       }
     },
-    "nixpkgs-stable": {
+    "nixpkgs-23": {
       "locked": {
-        "lastModified": 1712741485,
-        "narHash": "sha256-bCs0+MSTra80oXAsnM6Oq62WsirOIaijQ/BbUY59tR4=",
+        "lastModified": 1719234068,
+        "narHash": "sha256-1AjSIedDC/aERt24KsCUftLpVppW61S7awfjGe7bMio=",
         "owner": "nixos",
         "repo": "nixpkgs",
-        "rev": "b2cf36f43f9ef2ded5711b30b1f393ac423d8f72",
+        "rev": "90bd1b26e23760742fdcb6152369919098f05417",
         "type": "github"
       },
       "original": {
@@ -52,13 +53,29 @@
         "type": "github"
       }
     },
+    "nixpkgs-unstable": {
+      "locked": {
+        "lastModified": 1719254875,
+        "narHash": "sha256-ECni+IkwXjusHsm9Sexdtq8weAq/yUyt1TWIemXt3Ko=",
+        "owner": "nixos",
+        "repo": "nixpkgs",
+        "rev": "2893f56de08021cffd9b6b6dfc70fd9ccd51eb60",
+        "type": "github"
+      },
+      "original": {
+        "owner": "nixos",
+        "ref": "nixos-unstable",
+        "repo": "nixpkgs",
+        "type": "github"
+      }
+    },
     "nur": {
       "locked": {
-        "lastModified": 1712926429,
-        "narHash": "sha256-WmwbUCUZc5RjQIy4RXzeIHe0upQYBZ4EpzsHG5ekjtU=",
+        "lastModified": 1719509062,
+        "narHash": "sha256-IYlezkrqdHmO/SXShve0PhDZVwLuHYweaRyrLrvta5E=",
         "owner": "nix-community",
         "repo": "NUR",
-        "rev": "b9208a06751daf35263796bc3b1a92ec82aff59c",
+        "rev": "0713da5785faf081a4fa06500890f8726755f464",
         "type": "github"
       },
       "original": {
@@ -71,7 +88,8 @@
       "inputs": {
         "home-manager": "home-manager",
         "nixpkgs": "nixpkgs",
-        "nixpkgs-stable": "nixpkgs-stable",
+        "nixpkgs-23": "nixpkgs-23",
+        "nixpkgs-unstable": "nixpkgs-unstable",
         "nur": "nur"
       }
     }
diff --git a/flake.nix b/flake.nix
index 7e84519..1dde4f8 100644
--- a/flake.nix
+++ b/flake.nix
@@ -2,22 +2,24 @@
   description = "NixOS system flake.";
 
   inputs = {
-    nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
-    nixpkgs-stable.url = "github:nixos/nixpkgs/nixos-23.11";
+    nixpkgs.url = "github:nixos/nixpkgs/nixos-24.05";
+    nixpkgs-23.url = "github:nixos/nixpkgs/nixos-23.11";
+    nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable";
     nur.url = "github:nix-community/NUR";
     home-manager = {
-        url = "github:nix-community/home-manager";
-        inputs.nixpkgs.follows = "nixpkgs";
+        url = "github:nix-community/home-manager/release-24.05";
+        inputs.nixpkgs.follows = "nixpkgs-unstable";
     };
   };
 
-  outputs = { self, nixpkgs, nixpkgs-stable, nur, home-manager, ... } @ inputs:
+  outputs = { self, nixpkgs, nixpkgs-23, nixpkgs-unstable, nur, home-manager, ... } @ inputs:
   let
     inherit (self) outputs;
     system = "x86_64-linux";
     timeZone = "America/Denver";
     pkgs = nixpkgs.legacyPackages.${system};
-    stablePkgs = nixpkgs-stable.legacyPackages.${system};
+    unstablePkgs = import nixpkgs-unstable { system = system; config = { allowUnfree = true; }; }; 
+    pkgs23 = import nixpkgs-23 { system = system; config = { allowUnfree = true; }; }; 
   in
   {
     nixosConfigurations = {
@@ -49,7 +51,7 @@
                 home-manager.useUserPackages = true;
                 home-manager.users.nate = import ./nate/modules/home-manager/home.nix;
                 home-manager.extraSpecialArgs = {
-                    inherit inputs outputs;
+                    inherit inputs outputs unstablePkgs pkgs23;
                 };
             }
             ./nate/default.nix
diff --git a/nate/default.nix b/nate/default.nix
index e74340b..af66ad0 100644
--- a/nate/default.nix
+++ b/nate/default.nix
@@ -27,7 +27,7 @@
   nix.gc = {
     automatic = true;
     dates = "weekly";
-    options = "--delete-older-than 1w";
+    options = "--delete-older-than 14d";
   };
 
   # Optimize storage
diff --git a/nate/dotfiles/helix/config.toml b/nate/dotfiles/helix/config.toml
index fb925a7..a831afd 100644
--- a/nate/dotfiles/helix/config.toml
+++ b/nate/dotfiles/helix/config.toml
@@ -119,16 +119,18 @@ h = "hover"
 k = "select_references_to_symbol_under_cursor"
 
 [editor]
-bufferline = "multiple"
+bufferline = "always"
 auto-save = true
 line-number = "relative"
 cursorline = true
+cursorcolumn = true
 color-modes = true
 text-width = 120
 auto-format = true
 
 [editor.statusline]
-left = ["mode", "spinner", "version-control", "file-name"]
+left = ["mode", "spinner", "version-control"]
+center = ["file-name"]
 mode.normal = "Normal"
 mode.insert = "Insert"
 mode.select = "Select"
@@ -138,6 +140,7 @@ render = true
 
 [editor.lsp]
 display-messages = true
+display-inlay-hints = false
 
 [editor.cursor-shape]
 insert = "bar"
diff --git a/nate/dotfiles/sway/config.d/application_defaults b/nate/dotfiles/sway/config.d/application_defaults
index c0094d9..3bff6ba 100644
--- a/nate/dotfiles/sway/config.d/application_defaults
+++ b/nate/dotfiles/sway/config.d/application_defaults
@@ -18,7 +18,7 @@ for_window [app_id="xed"] focus
 for_window [app_id="org.keepassxc.KeePassXC"] $floating_window
 for_window [app_id="org.keepassxc.KeePassXC" title="KeePassXC"] move to scratchpad #, scratchpad show # default to show
 
-# set floating (nontiling)for apps needing it:
+# set floating (nontiling) for apps needing it:
 for_window [class="Yad" instance="yad"] floating enable
 for_window [app_id="yad"] floating enable
 for_window [app_id="blueman-manager"] floating enable,  resize set width 40 ppt height 30 ppt
@@ -30,6 +30,7 @@ for_window [class="qt5ct" instance="qt5ct"] floating enable, resize set width 60
 for_window [class="Bluetooth-sendto" instance="bluetooth-sendto"] floating enable
 for_window [app_id="pamac-manager"] floating enable, resize set width 80 ppt height 70 ppt
 for_window [class="Lxappearance"] floating enable, resize set width 60 ppt height 50 ppt
+for_window [class="steam" title="^((?!Steam$).)*"] floating enable
 
 # set floating for window roles
 for_window [window_role="pop-up"] floating enable
diff --git a/nate/dotfiles/vis/config b/nate/dotfiles/vis/config
new file mode 100644
index 0000000..59b2a24
--- /dev/null
+++ b/nate/dotfiles/vis/config
@@ -0,0 +1,7 @@
+visualizer.fps=20
+visualizer.spectrum.bar.spacing=1
+visualizer.spectrum.bar.width=3
+visualizer.spectrum.smoothing.mode=monstercat
+
+visualizer.monstercat.smoothing.factor=3
+audio.stereo.enabled=false
diff --git a/nate/dotfiles/vis/vis.log b/nate/dotfiles/vis/vis.log
new file mode 100644
index 0000000..e69de29
diff --git a/nate/dotfiles/waybar/config b/nate/dotfiles/waybar/config
index 8c20d9b..b4c0de5 100644
--- a/nate/dotfiles/waybar/config
+++ b/nate/dotfiles/waybar/config
@@ -80,7 +80,7 @@
             "warning": 70,
             "critical": 90,
         },
-        "on-click": "xfce4-terminal -e 'htop'",
+        "on-click": "foot -e 'htop'",
     },
 
     "custom/keyboard-layout": {
@@ -97,7 +97,7 @@
     "memory": {
         "interval": 5,
         "format": " {}%", // Icon: memory
-        "on-click": "xfce4-terminal -e 'htop'", 
+        "on-click": "foot -e 'htop'", 
         "states": {
             "warning": 70,
             "critical": 90
@@ -110,7 +110,7 @@
         "format-ethernet": "  {ifname}: {ipaddr}/{cidr}", // Icon: ethernet
         "format-disconnected": "⚠  Disconnected",
         "tooltip-format": "{ifname}: {ipaddr}",
-        "on-click": "xfce4-terminal -e 'nmtui'",
+        "on-click": "foot -e 'nmtui'",
     },
     "network#vpn": {
         "interface": "tun0",
@@ -147,18 +147,18 @@
         "scroll-step": 1, // %, can be a float
         "format": "{volume}% {icon}",
         "format-bluetooth": "{volume}% {icon}  {format_source}",
-        "format-bluetooth-muted": " {icon}  {format_source}",
-        "format-muted": "婢 {format_source}",
+        "format-bluetooth-muted": " {icon}  {format_source}",
+        "format-muted": " {format_source}",
         "format-source": "{volume}% ",
         "format-source-muted": "",
         "format-icons": {
-            "headphone": "",
-            "hands-free": "וֹ",
-            "headset": "  ",
+            "headphone": "",
+            "hands-free": "",
+            "headset": "",
             "phone": "",
             "portable": "",
             "car": "",
-            "default": [""]
+            "default": [""]
         },
         "on-click": "pavucontrol",
         "on-scroll-up": "pactl set-sink-volume @DEFAULT_SINK@ +2%",
@@ -198,14 +198,14 @@
     },
 
     "custom/spotify": {
-        "format": " ",
+        "format": "  ",
         "on-click": "foot -e 'ncspot'",
         "tooltip": false
     },
 
     "custom/terminal": {
         "format": " ",
-        "on-click": "exec xfce4-terminal",
+        "on-click": "exec foot",
         "tooltip": false
     },
 
diff --git a/nate/modules/home-manager/home.nix b/nate/modules/home-manager/home.nix
index 41b84df..4e076f3 100644
--- a/nate/modules/home-manager/home.nix
+++ b/nate/modules/home-manager/home.nix
@@ -1,21 +1,37 @@
-{ inputs, outputs, lib, config, pkgs, ... }:
+{ inputs, config, pkgs, ... }:
   let
     userName = "nate";
     fullName = "Nathan Anderson";
     email = "n8r@tuta.io";
+    unstable = import inputs.nixpkgs-unstable { system = "x86_64-linux"; config.allowUnfree = true; };
+    oldstable = import inputs.nixpkgs-23 { system = "x86_64-linux"; config.allowUnfree = true; };
     davinciDesktop = pkgs.makeDesktopItem {
       name = "davinci-resolve-studio";
       desktopName = "Davinci Resolve Studio";
-      exec = "${pkgs.davinci-resolve-studio}";
+      exec = "${oldstable.davinci-resolve-studio}";
     };
+    # overlay-unstable = final: prev: {
+    #   unstable = inputs.nixpkgs-unstable.legacyPackages.x86_64-linux;
+    # };
+    # overlay-oldstable = final: prev: {
+    #   pkgs23 = inputs.nixpkgs-23.legacyPackages.x86_64-linux;
+    # };
+    # overlay-unstable = final: prev: {
+    #   # unstable = inputs.nixpkgs-unstable.legacyPackages.x86_64-linux;
+    #   unstable = import inputs.nixpkgs-unstable {
+    #     system = "x86_64-linux";
+    #     config = { 
+    #       allowUnfreePredicate = (pkg: true); 
+    #       allowUnfree = true; 
+    #     }; 
+    #   };
+    # };
   in
 {
   # nixpkgs.overlays = [
-  #   inputs.nur.overlay
+  #   overlay-unstable
   # ];
 
-  # nixpkgs.config.allowUnfree = true;
-  # inputs.nixpkgs-stable.config.allowUnfree = true;
   imports = [
       ../apps/firefox/firefox.nix
   ];
@@ -41,30 +57,29 @@
     #
     # Dev Tools
     #
-    dbeaver
-    cargo
+    dbeaver-bin
     helix
     # kakoune
     # flutter316
     docker
     docker-compose
+    fossil
+    fnc
     jq
     python310
-    nodejs_21
-    zig
     ### LSP's
     nil # Nix LSP
+    nodePackages_latest.bash-language-server
     openscad-lsp
-    nodePackages.typescript-language-server
     vscode-langservers-extracted # provides eslint, markdown, json, css, and html lsp
-    rubyPackages.solargraph
-    python310Packages.python-lsp-server
-    zls
+    python311Packages.python-lsp-server
+    # zls
     ### Misc
     # android-udev-rules
     # android-tools
     # sdkmanager
     usbutils
+    cli-visualizer
     openscad
 
     #
@@ -72,14 +87,16 @@
     #
     amdgpu_top
     mangohud
+    r2modman
     wine-wayland
-    inputs.nixpkgs-stable.legacyPackages.x86_64-linux.webcord
+    webcord
 
     #
     # Better Unix
     #
     bat
     duf
+    du-dust
     fd
     fzf
     lsd
@@ -94,7 +111,7 @@
     #
     # Photo / Video
     #
-    davinci-resolve-studio
+    oldstable.davinci-resolve-studio
     davinciDesktop
     imv
     mpv
@@ -102,20 +119,22 @@
     ffmpeg
     tenacity
     yt-dlp
+    libimobiledevice
+    ifuse
 
     #
     # Communication
     #
     mumble
     slack
-    signal-desktop
+    unstable.signal-desktop
 
     #
     # Other
     #
     keepassxc
     obs-studio
-    betaflight-configurator
+    unstable.betaflight-configurator
     yubioath-flutter
 
     #
@@ -182,7 +201,7 @@
       enable = true;
       oh-my-zsh = {
           enable = true;
-          plugins = [ "git" ];
+          plugins = [ "fossil" "git" ];
           theme = "half-life";
       };
       initExtra = ''
@@ -223,7 +242,7 @@
 
   qt = {
     enable = true;
-    platformTheme = "qtct";
+    platformTheme.name = "qtct";
     style.name = "kvantum";
   };
 
@@ -238,7 +257,7 @@
       name = "Papirus-Dark";
     };
     theme = {
-      name = "Catppuccin-Macchiato-Compact-Lavender-Dark";
+      name = "catppuccin-macchiato-lavender-compact+rimless";
       package = pkgs.catppuccin-gtk.override {
         accents = [ "lavender" ];
         size = "compact";
@@ -258,6 +277,7 @@
     '';
     "Kvantum/Catppuccin-Frappe-Blue".source = "${pkgs.catppuccin-kvantum}/share/Kvantum/Catppuccin-Frappe-Blue";
   };
+
   home.file.".icons/default/index.theme".text = ''
     [icon theme]
     Inherits=Catppuccin-Macchiato-Lavender-Cursors
diff --git a/nate/modules/sway/sway_conf.nix b/nate/modules/sway/sway_conf.nix
index 695fb36..1343991 100644
--- a/nate/modules/sway/sway_conf.nix
+++ b/nate/modules/sway/sway_conf.nix
@@ -25,6 +25,7 @@
     config = lib.mkIf config.swaywm.enable {
 
         programs.sway.enable = true;
+        programs.sway.wrapperFeatures.gtk = true;
 
         nixpkgs.config.allowUnfree = config.swaywm.useNonFree;
         # For R2ModMan
@@ -65,6 +66,8 @@
                 sway-contrib.grimshot
                 libnotify
                 mako
+                man-pages
+                man-pages-posix
                 ncspot
                 networkmanagerapplet
                 pavucontrol
@@ -84,15 +87,11 @@
                 # Fonts
              ]
             config.swaywm.systemPackages
-            # (lib.mkIf config.swaywm.installGaming [
-            #     pkgs.lutris
-            # ])
         ];
         environment.variables.QT_STYLE_OVERRIDE = "kvantum";
 
-        # environment.loginShellInit = ''
-        #     [[ "$(tty)" == /dev/tty1 ]] && sway
-        # '';
+        # adds additional man pages
+        documentation.dev.enable = true;
 
         # Thunar config
         programs.thunar = {
@@ -110,7 +109,6 @@
         programs.gamemode.enable = true;
 
         programs.adb.enable = true;
-        # kdeconnect setup
         programs.kdeconnect.enable = true;
         # service file to start the sshAgent
         programs.ssh.startAgent = true;
@@ -119,11 +117,15 @@
         ##  Services
         ###
         virtualisation.docker.enable = true;
+        services.blueman.enable = true;
+        services.flatpak.enable = true;
         services.gvfs.enable = true;  # thunar mount, trash, etc
         services.tumbler.enable = true; # thunar thumbnails
         services.openssh.enable = true;
         services.dbus.enable = true;
         services.syncthing.enable = true;
+        services.gnome.gnome-keyring.enable = true;
+        services.usbmuxd.enable = true;
         services.tailscale = {
             enable = true;
             openFirewall = true;
@@ -141,27 +143,17 @@
         services.pipewire = {
           enable = true;
           alsa.enable = true;
-          # alsa.support32Bit = true;
           pulse.enable = true;
           wireplumber.enable = true;
         };
         sound.enable = false;
+
         ###
         ##  Misc
         ###
-
         # Necessary for home-manager sway setup
         security.polkit.enable = true;
 
-        # services.xserver.enable = true;
-        # services.xserver.displayManager.defaultSession = "sway";
-        # services.xserver.displayManager.gdm.enable = true;
-        # services.xserver.displayManager.gdm.wayland = true;
-        # services.xserver.displayManager.gdm.settings = {
-            # greeter.includeAll = false;
-            # greeter.include = "nate";
-        # };
-
         services.greetd = {
           enable = true;
           settings = rec {
@@ -178,7 +170,8 @@
         systemd.tmpfiles.rules = [
             "L+    /opt/rocm/hip   -    -    -     -    ${pkgs.rocmPackages.clr}"
         ];
-        # services.xserver.videoDrivers = [ "amdgpu-pro" ];
+        hardware.bluetooth.enable = true; # enables support for Bluetooth
+        hardware.bluetooth.powerOnBoot = true; # powers up the default Bluetooth controller on boot
         hardware.opengl = {
             # Mesa
             enable = true;