diff --git a/flake.lock b/flake.lock
index 0435799..4dc7769 100644
--- a/flake.lock
+++ b/flake.lock
@@ -70,6 +70,29 @@
         "type": "github"
       }
     },
+    "firefox-addons": {
+      "inputs": {
+        "flake-utils": "flake-utils",
+        "nixpkgs": [
+          "nixpkgs"
+        ]
+      },
+      "locked": {
+        "dir": "pkgs/firefox-addons",
+        "lastModified": 1717931498,
+        "narHash": "sha256-8j6h9gZmAngPXLFRRtd8ySRb0I43f0rRW0puU8IBwKA=",
+        "owner": "rycee",
+        "repo": "nur-expressions",
+        "rev": "3b7b7d83b3561269c2d8f20b5d4d4496bb36b2e6",
+        "type": "gitlab"
+      },
+      "original": {
+        "dir": "pkgs/firefox-addons",
+        "owner": "rycee",
+        "repo": "nur-expressions",
+        "type": "gitlab"
+      }
+    },
     "flake-compat": {
       "flake": false,
       "locked": {
@@ -119,6 +142,21 @@
       }
     },
     "flake-utils": {
+      "locked": {
+        "lastModified": 1629284811,
+        "narHash": "sha256-JHgasjPR0/J1J3DRm4KxM4zTyAj4IOJY8vIl75v/kPI=",
+        "owner": "numtide",
+        "repo": "flake-utils",
+        "rev": "c5d161cc0af116a2e17f54316f0bf43f0819785c",
+        "type": "github"
+      },
+      "original": {
+        "owner": "numtide",
+        "repo": "flake-utils",
+        "type": "github"
+      }
+    },
+    "flake-utils_2": {
       "inputs": {
         "systems": [
           "systems"
@@ -432,9 +470,10 @@
       "inputs": {
         "attic": "attic",
         "fenix": "fenix",
+        "firefox-addons": "firefox-addons",
         "flake-compat": "flake-compat_2",
         "flake-parts": "flake-parts",
-        "flake-utils": "flake-utils",
+        "flake-utils": "flake-utils_2",
         "home-manager": "home-manager",
         "hyprland-contrib": "hyprland-contrib",
         "nix": "nix",
diff --git a/flake.nix b/flake.nix
index 6e9b9c3..5f6c228 100644
--- a/flake.nix
+++ b/flake.nix
@@ -45,6 +45,11 @@
       inputs.nixpkgs.follows = "nixpkgs";
     };
 
+    firefox-addons = {
+      url = "gitlab:rycee/nur-expressions?dir=pkgs/firefox-addons";
+      inputs.nixpkgs.follows = "nixpkgs";
+    };
+
     flake-utils = {
       url = "github:numtide/flake-utils";
       inputs.systems.follows = "systems";
diff --git a/users/richie/home/gui.nix b/users/richie/home/gui/default.nix
similarity index 96%
rename from users/richie/home/gui.nix
rename to users/richie/home/gui/default.nix
index 37a3a09..422d122 100644
--- a/users/richie/home/gui.nix
+++ b/users/richie/home/gui/default.nix
@@ -11,7 +11,6 @@
     cinnamon.nemo
     cinnamon.nemo-fileroller
     discord-canary
-    firefox
     gimp
     gparted
     mediainfo
diff --git a/users/richie/home/firefox.nix b/users/richie/home/gui/firefox.nix
similarity index 97%
rename from users/richie/home/firefox.nix
rename to users/richie/home/gui/firefox.nix
index 70aaee6..e54716a 100644
--- a/users/richie/home/firefox.nix
+++ b/users/richie/home/gui/firefox.nix
@@ -3,15 +3,15 @@
   programs.firefox = {
     enable = true;
     profiles.richie = {
-      extensions = with pkgs.inputs.firefox-addons; [
-        bitwarden-password-manager
-        darkreader
-        dearrow
-        fastforwardteam
-        return-youtube-dislikes
-        sponsorblock
-        ublock-origin
-      ];
+      # extensions = with pkgs.inputs.firefox-addons; [
+      #   bitwarden-password-manager
+      #   darkreader
+      #   dearrow
+      #   fastforwardteam
+      #   return-youtube-dislikes
+      #   sponsorblock
+      #   ublock-origin
+      # ];
       search.engines = {
         "Nix Options" = {
           urls = [
diff --git a/users/richie/home/vscode/default.nix b/users/richie/home/gui/vscode/default.nix
similarity index 96%
rename from users/richie/home/vscode/default.nix
rename to users/richie/home/gui/vscode/default.nix
index 443e658..68b71b7 100644
--- a/users/richie/home/vscode/default.nix
+++ b/users/richie/home/gui/vscode/default.nix
@@ -1,6 +1,6 @@
 { config, pkgs, ... }:
 let
-  vscode_dir = "/home/richie/projects/nix-dotfiles/users/richie/home/vscode";
+  vscode_dir = "/home/richie/projects/nix-dotfiles/users/richie/home/gui/vscode";
 in
 {
   # mutable symlinks to key binds and settings
diff --git a/users/richie/home/vscode/extension_installer.py b/users/richie/home/gui/vscode/extension_installer.py
similarity index 100%
rename from users/richie/home/vscode/extension_installer.py
rename to users/richie/home/gui/vscode/extension_installer.py
diff --git a/users/richie/home/vscode/keybindings.json b/users/richie/home/gui/vscode/keybindings.json
similarity index 100%
rename from users/richie/home/vscode/keybindings.json
rename to users/richie/home/gui/vscode/keybindings.json
diff --git a/users/richie/home/vscode/settings.json b/users/richie/home/gui/vscode/settings.json
similarity index 100%
rename from users/richie/home/vscode/settings.json
rename to users/richie/home/gui/vscode/settings.json