diff --git a/configuration.nix b/configuration.nix
index 35cb0bda..74790128 100644
--- a/configuration.nix
+++ b/configuration.nix
@@ -21,12 +21,6 @@ isMaximal: {
       lspSignature.enable = true;
       lsplines.enable = isMaximal;
       nvim-docs-view.enable = isMaximal;
-
-      # Code Actions
-      code-actions = {
-        enable = true;
-        fastaction-nvim.enable = true;
-      };
     };
 
     debugger = {
@@ -209,6 +203,7 @@ isMaximal: {
           go = ["90" "130"];
         };
       };
+      fastaction.enable = true;
     };
 
     assistant = {
diff --git a/modules/extra/deprecations.nix b/modules/extra/deprecations.nix
index 8809092d..c6177749 100644
--- a/modules/extra/deprecations.nix
+++ b/modules/extra/deprecations.nix
@@ -10,9 +10,9 @@ in {
 
     # 2024-07-20
     (mkRemovedOptionModule ["vim" "lsp" "nvimCodeActionMenu"] ''
-      nvimCodeActionMenu has been deprecated and archived upstream. As of 0.7, code-actions will be
-      available under `vim.lsp.code-actions.enable` and `vim.lsp.code.actions.<plugin>.enable`.
-      Please take a look at the nvf manual for more details.
+      nvimCodeActionMenu has been deprecated and archived upstream. As of 0.7, fastaction will be
+      available under `vim.ui.fastaction` as a replacement. Please take a look at the nvf manual
+      for more details.
     '')
   ];
 }
diff --git a/modules/plugins/lsp/code-actions/default.nix b/modules/plugins/lsp/code-actions/default.nix
deleted file mode 100644
index af6070b0..00000000
--- a/modules/plugins/lsp/code-actions/default.nix
+++ /dev/null
@@ -1,10 +0,0 @@
-{lib, ...}: let
-  inherit (lib.options) mkEnableOption;
-in {
-  imports = [
-    ./fastaction-nvim
-  ];
-  options.vim.lsp.code-actions = {
-    enable = mkEnableOption "code-actions. Setting this to `false` will disable all code action plugins.";
-  };
-}
diff --git a/modules/plugins/lsp/code-actions/fastaction-nvim/config.nix b/modules/plugins/lsp/code-actions/fastaction-nvim/config.nix
deleted file mode 100644
index f6424c6d..00000000
--- a/modules/plugins/lsp/code-actions/fastaction-nvim/config.nix
+++ /dev/null
@@ -1,36 +0,0 @@
-{
-  config,
-  lib,
-  ...
-}: let
-  inherit (lib.modules) mkIf;
-  inherit (lib.nvim.dag) entryAnywhere;
-  inherit (lib.nvim.lua) toLuaObject;
-  inherit (lib.nvim.binds) addDescriptionsToMappings mkSetLuaBinding pushDownDefault;
-
-  cfg = config.vim.lsp.code-actions;
-  self = import ./fastaction-nvim.nix {inherit lib;};
-
-  mappingDefinitions = self.options.vim.lsp.code-actions.fastaction-nvim.mappings;
-  mappings = addDescriptionsToMappings cfg.fastaction-nvim.mappings mappingDefinitions;
-in {
-  config = mkIf (cfg.enable && cfg.fastaction-nvim.enable) {
-    vim = {
-      startPlugins = ["fastaction-nvim"];
-
-      binds.whichKey.register = pushDownDefault {
-        "<leader>c" = "Code Actions";
-      };
-
-      maps = {
-        normal = mkSetLuaBinding mappings.code_action "require('fastaction').code_action";
-        visual = mkSetLuaBinding mappings.range_action "require('fastaction').range_code_action";
-      };
-
-      pluginRC.fastaction-nvim = entryAnywhere ''
-        -- Enable trouble diagnostics viewer
-        require('fastaction').setup(${toLuaObject cfg.fastaction-nvim.setupOpts})
-      '';
-    };
-  };
-}
diff --git a/modules/plugins/lsp/code-actions/fastaction-nvim/fastaction-nvim.nix b/modules/plugins/lsp/code-actions/fastaction-nvim/fastaction-nvim.nix
deleted file mode 100644
index c9e0b951..00000000
--- a/modules/plugins/lsp/code-actions/fastaction-nvim/fastaction-nvim.nix
+++ /dev/null
@@ -1,15 +0,0 @@
-{lib, ...}: let
-  inherit (lib.options) mkEnableOption;
-  inherit (lib.nvim.types) mkPluginSetupOption;
-  inherit (lib.nvim.binds) mkMappingOption;
-in {
-  options.vim.lsp.code-actions.fastaction-nvim = {
-    enable = mkEnableOption "code actions for Neovim via fastaction.nvim";
-    setupOpts = mkPluginSetupOption "fastaction-nvim" {};
-
-    mappings = {
-      code_action = mkMappingOption "Displays code action popup [Fastaction.nvim]" "<leader>cfa";
-      range_action = mkMappingOption " Displays code actions for visual range [Fastaction.nvim]" "<leader>cra";
-    };
-  };
-}
diff --git a/modules/plugins/lsp/default.nix b/modules/plugins/lsp/default.nix
index 61f31455..a5d5163d 100644
--- a/modules/plugins/lsp/default.nix
+++ b/modules/plugins/lsp/default.nix
@@ -16,8 +16,5 @@
     ./lspkind
     ./lsplines
     ./nvim-docs-view
-
-    # Code Actions
-    ./code-actions
   ];
 }
diff --git a/modules/plugins/ui/default.nix b/modules/plugins/ui/default.nix
index 262cdbbf..34076600 100644
--- a/modules/plugins/ui/default.nix
+++ b/modules/plugins/ui/default.nix
@@ -8,5 +8,6 @@
     ./illuminate
     ./breadcrumbs
     ./borders
+    ./fastaction
   ];
 }
diff --git a/modules/plugins/ui/fastaction/config.nix b/modules/plugins/ui/fastaction/config.nix
new file mode 100644
index 00000000..252bfb1e
--- /dev/null
+++ b/modules/plugins/ui/fastaction/config.nix
@@ -0,0 +1,20 @@
+{
+  config,
+  lib,
+  ...
+}: let
+  inherit (lib.modules) mkIf mkDefault;
+  inherit (lib.nvim.dag) entryAnywhere;
+  inherit (lib.nvim.lua) toLuaObject;
+
+  cfg = config.vim.ui.fastaction;
+in {
+  config = mkIf cfg.enable {
+    vim = {
+      ui.fastaction.setupOpts.register_ui_select = mkDefault true;
+
+      startPlugins = ["fastaction-nvim"];
+      pluginRC.fastaction-nvim = entryAnywhere "require('fastaction').setup(${toLuaObject cfg.setupOpts})";
+    };
+  };
+}
diff --git a/modules/plugins/lsp/code-actions/fastaction-nvim/default.nix b/modules/plugins/ui/fastaction/default.nix
similarity index 100%
rename from modules/plugins/lsp/code-actions/fastaction-nvim/default.nix
rename to modules/plugins/ui/fastaction/default.nix
index ecac8b8c..ef5c2bc9 100644
--- a/modules/plugins/lsp/code-actions/fastaction-nvim/default.nix
+++ b/modules/plugins/ui/fastaction/default.nix
@@ -1,6 +1,6 @@
 {
   imports = [
-    ./config.nix
     ./fastaction-nvim.nix
+    ./config.nix
   ];
 }
diff --git a/modules/plugins/ui/fastaction/fastaction-nvim.nix b/modules/plugins/ui/fastaction/fastaction-nvim.nix
new file mode 100644
index 00000000..52ac59a9
--- /dev/null
+++ b/modules/plugins/ui/fastaction/fastaction-nvim.nix
@@ -0,0 +1,9 @@
+{lib, ...}: let
+  inherit (lib.options) mkEnableOption;
+  inherit (lib.nvim.types) mkPluginSetupOption;
+in {
+  options.vim.ui.fastaction = {
+    enable = mkEnableOption "overriding vim.ui.select with fastaction.nvim";
+    setupOpts = mkPluginSetupOption "fastaction" {};
+  };
+}