about summary refs log tree commit diff stats
path: root/modules/by-name/nv/nvim/plgs
diff options
context:
space:
mode:
authorBenedikt Peetz <benedikt.peetz@b-peetz.de>2024-11-09 12:35:44 +0100
committerBenedikt Peetz <benedikt.peetz@b-peetz.de>2024-11-09 12:54:51 +0100
commit2122a01f99c6da466b8f0f55c965c11a9043d117 (patch)
tree6c1697afc30a5bb72635bda7db9b5610386a5b71 /modules/by-name/nv/nvim/plgs
parentfix(pkgs/stamp): Fallback to `dot-license` (diff)
downloadnixos-config-2122a01f99c6da466b8f0f55c965c11a9043d117.zip
refactor(modules/legacy/conf/nvim): Move to `by-name`
Diffstat (limited to '')
-rw-r--r--modules/by-name/nv/nvim/plgs/colorscheme/default.nix (renamed from modules/home.legacy/conf/nvim/plgs/colorscheme/default.nix)7
-rw-r--r--modules/by-name/nv/nvim/plgs/colorscheme/lua/mk_todos_readable.lua (renamed from modules/home.legacy/conf/nvim/plgs/colorscheme/lua/mk_todos_readable.lua)0
-rw-r--r--modules/by-name/nv/nvim/plgs/colorscheme/lua/nightfox.lua (renamed from modules/home.legacy/conf/nvim/plgs/colorscheme/lua/nightfox.lua)0
-rw-r--r--modules/by-name/nv/nvim/plgs/comment-nvim/default.nix (renamed from modules/home.legacy/conf/nvim/plgs/comment-nvim/default.nix)10
-rw-r--r--modules/by-name/nv/nvim/plgs/debugprint/default.nix (renamed from modules/home.legacy/conf/nvim/plgs/debugprint/default.nix)7
-rw-r--r--modules/by-name/nv/nvim/plgs/debugprint/lua/debugprint.lua (renamed from modules/home.legacy/conf/nvim/plgs/debugprint/lua/debugprint.lua)0
-rw-r--r--modules/by-name/nv/nvim/plgs/default.nix (renamed from modules/home.legacy/conf/nvim/plgs/default.nix)0
-rw-r--r--modules/by-name/nv/nvim/plgs/femaco/default.nix (renamed from modules/home.legacy/conf/nvim/plgs/femaco/default.nix)7
-rw-r--r--modules/by-name/nv/nvim/plgs/femaco/lua/femaco.lua (renamed from modules/home.legacy/conf/nvim/plgs/femaco/lua/femaco.lua)0
-rw-r--r--modules/by-name/nv/nvim/plgs/flatten-nvim/default.nix (renamed from modules/home.legacy/conf/nvim/plgs/flatten-nvim/default.nix)7
-rw-r--r--modules/by-name/nv/nvim/plgs/flatten-nvim/lua/flatten-nvim.lua (renamed from modules/home.legacy/conf/nvim/plgs/flatten-nvim/lua/flatten-nvim.lua)0
-rw-r--r--modules/by-name/nv/nvim/plgs/goto-preview/default.nix (renamed from modules/home.legacy/conf/nvim/plgs/goto-preview/default.nix)7
-rw-r--r--modules/by-name/nv/nvim/plgs/goto-preview/lua/goto-preview.lua (renamed from modules/home.legacy/conf/nvim/plgs/goto-preview/lua/goto-preview.lua)0
-rw-r--r--modules/by-name/nv/nvim/plgs/harpoon/default.nix (renamed from modules/home.legacy/conf/nvim/plgs/harpoon/default.nix)10
-rw-r--r--modules/by-name/nv/nvim/plgs/leap/default.nix (renamed from modules/home.legacy/conf/nvim/plgs/leap/default.nix)10
-rw-r--r--modules/by-name/nv/nvim/plgs/lf-nvim/default.nix (renamed from modules/home.legacy/conf/nvim/plgs/lf-nvim/default.nix)7
-rw-r--r--modules/by-name/nv/nvim/plgs/lf-nvim/lua/lf-nvim.lua (renamed from modules/home.legacy/conf/nvim/plgs/lf-nvim/lua/lf-nvim.lua)0
-rw-r--r--modules/by-name/nv/nvim/plgs/lsp-progress-nvim/default.nix (renamed from modules/home.legacy/conf/nvim/plgs/lsp-progress-nvim/default.nix)7
-rw-r--r--modules/by-name/nv/nvim/plgs/lsp-progress-nvim/lua/lsp-progress-nvim.lua (renamed from modules/home.legacy/conf/nvim/plgs/lsp-progress-nvim/lua/lsp-progress-nvim.lua)0
-rw-r--r--modules/by-name/nv/nvim/plgs/lsp/default.nix (renamed from modules/home.legacy/conf/nvim/plgs/lsp/default.nix)10
-rw-r--r--modules/by-name/nv/nvim/plgs/lsp/keymaps/default.nix (renamed from modules/home.legacy/conf/nvim/plgs/lsp/keymaps/default.nix)10
-rw-r--r--modules/by-name/nv/nvim/plgs/lsp/servers/default.nix (renamed from modules/home.legacy/conf/nvim/plgs/lsp/servers/default.nix)0
-rw-r--r--modules/by-name/nv/nvim/plgs/lsp/servers/servers/bashls.nix11
-rw-r--r--modules/by-name/nv/nvim/plgs/lsp/servers/servers/ccls.nix11
-rw-r--r--modules/by-name/nv/nvim/plgs/lsp/servers/servers/ltex.nix (renamed from modules/home.legacy/conf/nvim/plgs/lsp/servers/servers/ltex.nix)10
-rw-r--r--modules/by-name/nv/nvim/plgs/lsp/servers/servers/lua-ls.nix14
-rw-r--r--modules/by-name/nv/nvim/plgs/lsp/servers/servers/nil-ls.nix16
-rw-r--r--modules/by-name/nv/nvim/plgs/lsp/servers/servers/openscad.nix (renamed from modules/home.legacy/conf/nvim/plgs/lsp/servers/servers/openscad.nix)11
-rw-r--r--modules/by-name/nv/nvim/plgs/lsp/servers/servers/pylyzer.nix (renamed from modules/home.legacy/conf/nvim/plgs/lsp/servers/servers/pylyzer.nix)11
-rw-r--r--modules/by-name/nv/nvim/plgs/lsp/servers/servers/quick-lint-js.nix (renamed from modules/home.legacy/conf/nvim/plgs/lsp/servers/servers/quick-lint-js.nix)11
-rw-r--r--modules/by-name/nv/nvim/plgs/lsp/servers/servers/ruff-lsp.nix17
-rw-r--r--modules/by-name/nv/nvim/plgs/lsp/servers/servers/rust-analyzer.nix (renamed from modules/home.legacy/conf/nvim/plgs/lsp/servers/servers/rust-analyzer.nix)10
-rw-r--r--modules/by-name/nv/nvim/plgs/lsp/servers/servers/texlab.nix13
-rw-r--r--modules/by-name/nv/nvim/plgs/lspkind/default.nix12
-rw-r--r--modules/by-name/nv/nvim/plgs/ltex_extra/default.nix (renamed from modules/home.legacy/conf/nvim/plgs/ltex_extra/default.nix)11
-rw-r--r--modules/by-name/nv/nvim/plgs/ltex_extra/lua/ltex_extra.lua (renamed from modules/home.legacy/conf/nvim/plgs/ltex_extra/lua/ltex_extra.lua)0
-rw-r--r--modules/by-name/nv/nvim/plgs/lualine/default.nix128
-rw-r--r--modules/by-name/nv/nvim/plgs/luasnip/default.nix (renamed from modules/home.legacy/conf/nvim/plgs/luasnip/default.nix)7
-rw-r--r--modules/by-name/nv/nvim/plgs/luasnip/lua/luasnip.lua (renamed from modules/home.legacy/conf/nvim/plgs/luasnip/lua/luasnip.lua)0
-rw-r--r--modules/by-name/nv/nvim/plgs/luasnip/lua/snippets/all.lua (renamed from modules/home.legacy/conf/nvim/plgs/luasnip/lua/snippets/all.lua)0
-rw-r--r--modules/by-name/nv/nvim/plgs/luasnip/lua/snippets/html/html.lua (renamed from modules/home.legacy/conf/nvim/plgs/luasnip/lua/snippets/html/html.lua)0
-rw-r--r--modules/by-name/nv/nvim/plgs/luasnip/lua/snippets/tex/delimiter.lua (renamed from modules/home.legacy/conf/nvim/plgs/luasnip/lua/snippets/tex/delimiter.lua)0
-rw-r--r--modules/by-name/nv/nvim/plgs/luasnip/lua/snippets/tex/greek.lua (renamed from modules/home.legacy/conf/nvim/plgs/luasnip/lua/snippets/tex/greek.lua)0
-rw-r--r--modules/by-name/nv/nvim/plgs/neorg/default.nix70
-rw-r--r--modules/by-name/nv/nvim/plgs/nvim-cmp/default.nix (renamed from modules/home.legacy/conf/nvim/plgs/nvim-cmp/default.nix)39
-rw-r--r--modules/by-name/nv/nvim/plgs/nvim-lint/default.nix (renamed from modules/home.legacy/conf/nvim/plgs/nvim-lint/default.nix)7
-rw-r--r--modules/by-name/nv/nvim/plgs/nvim-lint/lua/nvim-lint.lua (renamed from modules/home.legacy/conf/nvim/plgs/nvim-lint/lua/nvim-lint.lua)0
-rw-r--r--modules/by-name/nv/nvim/plgs/raw_plugins/default.nix (renamed from modules/home.legacy/conf/nvim/plgs/raw_plugins/default.nix)10
-rw-r--r--modules/by-name/nv/nvim/plgs/telescope/default.nix (renamed from modules/home.legacy/conf/nvim/plgs/telescope/default.nix)10
-rw-r--r--modules/by-name/nv/nvim/plgs/telescope/defaults/default.nix (renamed from modules/home.legacy/conf/nvim/plgs/telescope/defaults/default.nix)10
-rw-r--r--modules/by-name/nv/nvim/plgs/telescope/extensions/bibtex/default.nix (renamed from modules/home.legacy/conf/nvim/plgs/telescope/extensions/bibtex/default.nix)11
-rw-r--r--modules/by-name/nv/nvim/plgs/telescope/extensions/default.nix (renamed from modules/home.legacy/conf/nvim/plgs/telescope/extensions/default.nix)0
-rw-r--r--modules/by-name/nv/nvim/plgs/telescope/extensions/frecency/default.nix (renamed from modules/home.legacy/conf/nvim/plgs/telescope/extensions/frecency/default.nix)10
-rw-r--r--modules/by-name/nv/nvim/plgs/telescope/extensions/fzy-native/default.nix11
-rw-r--r--modules/by-name/nv/nvim/plgs/telescope/extensions/rooter/default.nix13
-rw-r--r--modules/by-name/nv/nvim/plgs/telescope/extensions/rooter/lua/rooter.lua (renamed from modules/home.legacy/conf/nvim/plgs/telescope/extensions/rooter/lua/rooter.lua)0
-rw-r--r--modules/by-name/nv/nvim/plgs/telescope/extensions/symbols/default.nix (renamed from modules/home.legacy/conf/nvim/plgs/telescope/extensions/symbols/default.nix)11
-rw-r--r--modules/by-name/nv/nvim/plgs/telescope/keymaps/default.nix16
-rw-r--r--modules/by-name/nv/nvim/plgs/todo-comments/default.nix (renamed from modules/home.legacy/conf/nvim/plgs/todo-comments/default.nix)10
-rw-r--r--modules/by-name/nv/nvim/plgs/treesitter/default.nix (renamed from modules/home.legacy/conf/nvim/plgs/treesitter/default.nix)10
-rw-r--r--modules/by-name/nv/nvim/plgs/vim-tex/default.nix (renamed from modules/home.legacy/conf/nvim/plgs/vim-tex/default.nix)10
-rw-r--r--modules/by-name/nv/nvim/plgs/which-key/default.nix11
62 files changed, 572 insertions, 79 deletions
diff --git a/modules/home.legacy/conf/nvim/plgs/colorscheme/default.nix b/modules/by-name/nv/nvim/plgs/colorscheme/default.nix
index 11357f77..ebc26826 100644
--- a/modules/home.legacy/conf/nvim/plgs/colorscheme/default.nix
+++ b/modules/by-name/nv/nvim/plgs/colorscheme/default.nix
@@ -1,9 +1,12 @@
 {
   pkgs,
+  config,
   lib,
   ...
-}: {
-  programs.nixvim = {
+}: let
+  cfg = config.soispha.programs.nvim;
+in {
+  home-manager.users.soispha.programs.nixvim = lib.mkIf cfg.enable {
     # TODO: package nightfox though a module
     extraConfigLuaPost = ''
       ${lib.strings.fileContents ./lua/nightfox.lua}
diff --git a/modules/home.legacy/conf/nvim/plgs/colorscheme/lua/mk_todos_readable.lua b/modules/by-name/nv/nvim/plgs/colorscheme/lua/mk_todos_readable.lua
index d02171b5..d02171b5 100644
--- a/modules/home.legacy/conf/nvim/plgs/colorscheme/lua/mk_todos_readable.lua
+++ b/modules/by-name/nv/nvim/plgs/colorscheme/lua/mk_todos_readable.lua
diff --git a/modules/home.legacy/conf/nvim/plgs/colorscheme/lua/nightfox.lua b/modules/by-name/nv/nvim/plgs/colorscheme/lua/nightfox.lua
index 4c502153..4c502153 100644
--- a/modules/home.legacy/conf/nvim/plgs/colorscheme/lua/nightfox.lua
+++ b/modules/by-name/nv/nvim/plgs/colorscheme/lua/nightfox.lua
diff --git a/modules/home.legacy/conf/nvim/plgs/comment-nvim/default.nix b/modules/by-name/nv/nvim/plgs/comment-nvim/default.nix
index 2a73b8db..bd70c5c2 100644
--- a/modules/home.legacy/conf/nvim/plgs/comment-nvim/default.nix
+++ b/modules/by-name/nv/nvim/plgs/comment-nvim/default.nix
@@ -1,5 +1,11 @@
-{...}: {
-  programs.nixvim = {
+{
+  config,
+  lib,
+  ...
+}: let
+  cfg = config.soispha.programs.nvim;
+in {
+  home-manager.users.soispha.programs.nixvim = lib.mkIf cfg.enable {
     plugins.comment = {
       enable = true;
       settings = {
diff --git a/modules/home.legacy/conf/nvim/plgs/debugprint/default.nix b/modules/by-name/nv/nvim/plgs/debugprint/default.nix
index 3c591e9f..4a3af1c5 100644
--- a/modules/home.legacy/conf/nvim/plgs/debugprint/default.nix
+++ b/modules/by-name/nv/nvim/plgs/debugprint/default.nix
@@ -1,9 +1,12 @@
 {
   pkgs,
   lib,
+  config,
   ...
-}: {
-  programs.nixvim = {
+}: let
+  cfg = config.soispha.programs.nvim;
+in {
+  home-manager.users.soispha.programs.nixvim = lib.mkIf cfg.enable {
     # TODO: package debugprint though a module
     extraConfigLuaPost = ''
       ${lib.strings.fileContents ./lua/debugprint.lua}
diff --git a/modules/home.legacy/conf/nvim/plgs/debugprint/lua/debugprint.lua b/modules/by-name/nv/nvim/plgs/debugprint/lua/debugprint.lua
index da7e1735..da7e1735 100644
--- a/modules/home.legacy/conf/nvim/plgs/debugprint/lua/debugprint.lua
+++ b/modules/by-name/nv/nvim/plgs/debugprint/lua/debugprint.lua
diff --git a/modules/home.legacy/conf/nvim/plgs/default.nix b/modules/by-name/nv/nvim/plgs/default.nix
index 991bc315..991bc315 100644
--- a/modules/home.legacy/conf/nvim/plgs/default.nix
+++ b/modules/by-name/nv/nvim/plgs/default.nix
diff --git a/modules/home.legacy/conf/nvim/plgs/femaco/default.nix b/modules/by-name/nv/nvim/plgs/femaco/default.nix
index 6c4a7d89..adf0ba63 100644
--- a/modules/home.legacy/conf/nvim/plgs/femaco/default.nix
+++ b/modules/by-name/nv/nvim/plgs/femaco/default.nix
@@ -1,9 +1,12 @@
 {
   pkgs,
   lib,
+  config,
   ...
-}: {
-  programs.nixvim = {
+}: let
+  cfg = config.soispha.programs.nvim;
+in {
+  home-manager.users.soispha.programs.nixvim = lib.mkIf cfg.enable {
     # TODO: package femaco through a module
     extraConfigLuaPost = ''
       ${lib.strings.fileContents ./lua/femaco.lua}
diff --git a/modules/home.legacy/conf/nvim/plgs/femaco/lua/femaco.lua b/modules/by-name/nv/nvim/plgs/femaco/lua/femaco.lua
index c113e4c7..c113e4c7 100644
--- a/modules/home.legacy/conf/nvim/plgs/femaco/lua/femaco.lua
+++ b/modules/by-name/nv/nvim/plgs/femaco/lua/femaco.lua
diff --git a/modules/home.legacy/conf/nvim/plgs/flatten-nvim/default.nix b/modules/by-name/nv/nvim/plgs/flatten-nvim/default.nix
index cd6f8bcc..c1ace4ac 100644
--- a/modules/home.legacy/conf/nvim/plgs/flatten-nvim/default.nix
+++ b/modules/by-name/nv/nvim/plgs/flatten-nvim/default.nix
@@ -1,9 +1,12 @@
 {
   pkgs,
   lib,
+  config,
   ...
-}: {
-  programs.nixvim = {
+}: let
+  cfg = config.soispha.programs.nvim;
+in {
+  home-manager.users.soispha.programs.nixvim = lib.mkIf cfg.enable {
     # TODO: package flatten-nvim though a module
 
     extraConfigLuaPre = ''
diff --git a/modules/home.legacy/conf/nvim/plgs/flatten-nvim/lua/flatten-nvim.lua b/modules/by-name/nv/nvim/plgs/flatten-nvim/lua/flatten-nvim.lua
index 2cdbcdde..2cdbcdde 100644
--- a/modules/home.legacy/conf/nvim/plgs/flatten-nvim/lua/flatten-nvim.lua
+++ b/modules/by-name/nv/nvim/plgs/flatten-nvim/lua/flatten-nvim.lua
diff --git a/modules/home.legacy/conf/nvim/plgs/goto-preview/default.nix b/modules/by-name/nv/nvim/plgs/goto-preview/default.nix
index 3de28c68..5c56fe8c 100644
--- a/modules/home.legacy/conf/nvim/plgs/goto-preview/default.nix
+++ b/modules/by-name/nv/nvim/plgs/goto-preview/default.nix
@@ -1,9 +1,12 @@
 {
   pkgs,
   lib,
+  config,
   ...
-}: {
-  programs.nixvim = {
+}: let
+  cfg = config.soispha.programs.nvim;
+in {
+  home-manager.users.soispha.programs.nixvim = lib.mkIf cfg.enable {
     # TODO: package goto-preview though a module
     extraConfigLuaPost = ''
       ${lib.strings.fileContents ./lua/goto-preview.lua}
diff --git a/modules/home.legacy/conf/nvim/plgs/goto-preview/lua/goto-preview.lua b/modules/by-name/nv/nvim/plgs/goto-preview/lua/goto-preview.lua
index 9687a5a0..9687a5a0 100644
--- a/modules/home.legacy/conf/nvim/plgs/goto-preview/lua/goto-preview.lua
+++ b/modules/by-name/nv/nvim/plgs/goto-preview/lua/goto-preview.lua
diff --git a/modules/home.legacy/conf/nvim/plgs/harpoon/default.nix b/modules/by-name/nv/nvim/plgs/harpoon/default.nix
index 465f24f0..05a40d9f 100644
--- a/modules/home.legacy/conf/nvim/plgs/harpoon/default.nix
+++ b/modules/by-name/nv/nvim/plgs/harpoon/default.nix
@@ -1,4 +1,9 @@
-{pkgs, ...}: let
+{
+  pkgs,
+  config,
+  lib,
+  ...
+}: let
   numbers = ["0" "1" "2" "3" "4" "5" "6" "7" "8" "9"];
   mkNumberedCommand = {
     command_template,
@@ -29,8 +34,9 @@
 
   gotoTerminalMappings = builtins.map mkGotoTerminalCommand numbers;
   gotoFileMappings = builtins.map mkGotoFileCommand numbers;
+  cfg = config.soispha.programs.nvim;
 in {
-  programs.nixvim = {
+  home-manager.users.soispha.programs.nixvim = lib.mkIf cfg.enable {
     plugins.harpoon = {
       enable = true;
       package = pkgs.vimPlugins.harpoon;
diff --git a/modules/home.legacy/conf/nvim/plgs/leap/default.nix b/modules/by-name/nv/nvim/plgs/leap/default.nix
index 4e7ae60c..57e78879 100644
--- a/modules/home.legacy/conf/nvim/plgs/leap/default.nix
+++ b/modules/by-name/nv/nvim/plgs/leap/default.nix
@@ -1,5 +1,11 @@
-{...}: {
-  programs.nixvim = {
+{
+  config,
+  lib,
+  ...
+}: let
+  cfg = config.soispha.programs.nvim;
+in {
+  home-manager.users.soispha.programs.nixvim = lib.mkIf cfg.enable {
     plugins.leap = {
       enable = true;
       addDefaultMappings = false; # They don't work with dvorak.
diff --git a/modules/home.legacy/conf/nvim/plgs/lf-nvim/default.nix b/modules/by-name/nv/nvim/plgs/lf-nvim/default.nix
index 11ad2807..5e2836b0 100644
--- a/modules/home.legacy/conf/nvim/plgs/lf-nvim/default.nix
+++ b/modules/by-name/nv/nvim/plgs/lf-nvim/default.nix
@@ -1,9 +1,12 @@
 {
   pkgs,
   lib,
+  config,
   ...
-}: {
-  programs.nixvim = {
+}: let
+  cfg = config.soispha.programs.nvim;
+in {
+  home-manager.users.soispha.programs.nixvim = lib.mkIf cfg.enable {
     # TODO: package lf-nvim though a module
     # FIXME: change the nvim path, when I change the path with lf
     extraConfigLuaPost = ''
diff --git a/modules/home.legacy/conf/nvim/plgs/lf-nvim/lua/lf-nvim.lua b/modules/by-name/nv/nvim/plgs/lf-nvim/lua/lf-nvim.lua
index 1eadf375..1eadf375 100644
--- a/modules/home.legacy/conf/nvim/plgs/lf-nvim/lua/lf-nvim.lua
+++ b/modules/by-name/nv/nvim/plgs/lf-nvim/lua/lf-nvim.lua
diff --git a/modules/home.legacy/conf/nvim/plgs/lsp-progress-nvim/default.nix b/modules/by-name/nv/nvim/plgs/lsp-progress-nvim/default.nix
index 6602ceb6..1a2fb6eb 100644
--- a/modules/home.legacy/conf/nvim/plgs/lsp-progress-nvim/default.nix
+++ b/modules/by-name/nv/nvim/plgs/lsp-progress-nvim/default.nix
@@ -1,9 +1,12 @@
 {
   lib,
+  config,
   pkgs,
   ...
-}: {
-  programs.nixvim = {
+}: let
+  cfg = config.soispha.programs.nvim;
+in {
+  home-manager.users.soispha.programs.nixvim = lib.mkIf cfg.enable {
     # TODO: package lsp-progress-nvim though a module
     extraConfigLuaPost = ''
       ${lib.strings.fileContents ./lua/lsp-progress-nvim.lua}
diff --git a/modules/home.legacy/conf/nvim/plgs/lsp-progress-nvim/lua/lsp-progress-nvim.lua b/modules/by-name/nv/nvim/plgs/lsp-progress-nvim/lua/lsp-progress-nvim.lua
index 5a2cff26..5a2cff26 100644
--- a/modules/home.legacy/conf/nvim/plgs/lsp-progress-nvim/lua/lsp-progress-nvim.lua
+++ b/modules/by-name/nv/nvim/plgs/lsp-progress-nvim/lua/lsp-progress-nvim.lua
diff --git a/modules/home.legacy/conf/nvim/plgs/lsp/default.nix b/modules/by-name/nv/nvim/plgs/lsp/default.nix
index b7c1e174..d97f2f0a 100644
--- a/modules/home.legacy/conf/nvim/plgs/lsp/default.nix
+++ b/modules/by-name/nv/nvim/plgs/lsp/default.nix
@@ -1,9 +1,15 @@
-{...}: {
+{
+  config,
+  lib,
+  ...
+}: let
+  cfg = config.soispha.programs.nvim;
+in {
   imports = [
     ./keymaps
     ./servers
   ];
-  programs.nixvim.plugins.lsp = {
+  home-manager.users.soispha.programs.nixvim.plugins.lsp = lib.mkIf cfg.enable {
     enable = true;
     onAttach =
       ""
diff --git a/modules/home.legacy/conf/nvim/plgs/lsp/keymaps/default.nix b/modules/by-name/nv/nvim/plgs/lsp/keymaps/default.nix
index b1276639..903e8c17 100644
--- a/modules/home.legacy/conf/nvim/plgs/lsp/keymaps/default.nix
+++ b/modules/by-name/nv/nvim/plgs/lsp/keymaps/default.nix
@@ -1,5 +1,11 @@
-{...}: {
-  programs.nixvim = {
+{
+  config,
+  lib,
+  ...
+}: let
+  cfg = config.soispha.programs.nvim;
+in {
+  home-manager.users.soispha.programs.nixvim = lib.mkIf cfg.enable {
     plugins.lsp.keymaps = {
       diagnostic = {
         "N" = {
diff --git a/modules/home.legacy/conf/nvim/plgs/lsp/servers/default.nix b/modules/by-name/nv/nvim/plgs/lsp/servers/default.nix
index 605046d4..605046d4 100644
--- a/modules/home.legacy/conf/nvim/plgs/lsp/servers/default.nix
+++ b/modules/by-name/nv/nvim/plgs/lsp/servers/default.nix
diff --git a/modules/by-name/nv/nvim/plgs/lsp/servers/servers/bashls.nix b/modules/by-name/nv/nvim/plgs/lsp/servers/servers/bashls.nix
new file mode 100644
index 00000000..7d036a13
--- /dev/null
+++ b/modules/by-name/nv/nvim/plgs/lsp/servers/servers/bashls.nix
@@ -0,0 +1,11 @@
+{
+  lib,
+  config,
+  ...
+}: let
+  cfg = config.soispha.programs.nvim;
+in {
+  home-manager.users.soispha.programs.nixvim.plugins.lsp.servers = lib.mkIf cfg.enable {
+    bashls.enable = true;
+  };
+}
diff --git a/modules/by-name/nv/nvim/plgs/lsp/servers/servers/ccls.nix b/modules/by-name/nv/nvim/plgs/lsp/servers/servers/ccls.nix
new file mode 100644
index 00000000..cd7229bc
--- /dev/null
+++ b/modules/by-name/nv/nvim/plgs/lsp/servers/servers/ccls.nix
@@ -0,0 +1,11 @@
+{
+  config,
+  lib,
+  ...
+}: let
+  cfg = config.soispha.programs.nvim;
+in {
+  home-manager.users.soispha.programs.nixvim.plugins.lsp.servers = lib.mkIf cfg.enable {
+    ccls.enable = true;
+  };
+}
diff --git a/modules/home.legacy/conf/nvim/plgs/lsp/servers/servers/ltex.nix b/modules/by-name/nv/nvim/plgs/lsp/servers/servers/ltex.nix
index 3224bc41..c89e0790 100644
--- a/modules/home.legacy/conf/nvim/plgs/lsp/servers/servers/ltex.nix
+++ b/modules/by-name/nv/nvim/plgs/lsp/servers/servers/ltex.nix
@@ -1,5 +1,11 @@
-{...}: {
-  programs.nixvim.plugins.lsp.servers = {
+{
+  config,
+  lib,
+  ...
+}: let
+  cfg = config.soispha.programs.nvim;
+in {
+  home-manager.users.soispha.programs.nixvim.plugins.lsp.servers = lib.mkIf cfg.enable {
     ltex = let
       filetypes = [
         "java"
diff --git a/modules/by-name/nv/nvim/plgs/lsp/servers/servers/lua-ls.nix b/modules/by-name/nv/nvim/plgs/lsp/servers/servers/lua-ls.nix
new file mode 100644
index 00000000..f2e553f1
--- /dev/null
+++ b/modules/by-name/nv/nvim/plgs/lsp/servers/servers/lua-ls.nix
@@ -0,0 +1,14 @@
+{
+  config,
+  lib,
+  ...
+}: let
+  cfg = config.soispha.programs.nvim;
+in {
+  home-manager.users.soispha.programs.nixvim.plugins.lsp.servers = lib.mkIf cfg.enable {
+    lua_ls = {
+      enable = true;
+      settings.telemetry.enable = false;
+    };
+  };
+}
diff --git a/modules/by-name/nv/nvim/plgs/lsp/servers/servers/nil-ls.nix b/modules/by-name/nv/nvim/plgs/lsp/servers/servers/nil-ls.nix
new file mode 100644
index 00000000..9c760345
--- /dev/null
+++ b/modules/by-name/nv/nvim/plgs/lsp/servers/servers/nil-ls.nix
@@ -0,0 +1,16 @@
+{
+  config,
+  lib,
+  ...
+}: let
+  cfg = config.soispha.programs.nvim;
+in {
+  home-manager.users.soispha.programs.nixvim.plugins.lsp.servers = lib.mkIf cfg.enable {
+    nil_ls = {
+      enable = true;
+      settings = {
+        formatting.command = ["alejandra"];
+      };
+    };
+  };
+}
diff --git a/modules/home.legacy/conf/nvim/plgs/lsp/servers/servers/openscad.nix b/modules/by-name/nv/nvim/plgs/lsp/servers/servers/openscad.nix
index a0221cc4..94f7b067 100644
--- a/modules/home.legacy/conf/nvim/plgs/lsp/servers/servers/openscad.nix
+++ b/modules/by-name/nv/nvim/plgs/lsp/servers/servers/openscad.nix
@@ -1,5 +1,12 @@
-{pkgs, ...}: {
-  programs.nixvim = {
+{
+  config,
+  lib,
+  pkgs,
+  ...
+}: let
+  cfg = config.soispha.programs.nvim;
+in {
+  home-manager.users.soispha.programs.nixvim = lib.mkIf cfg.enable {
     extraConfigLuaPost =
       /*
       lua
diff --git a/modules/home.legacy/conf/nvim/plgs/lsp/servers/servers/pylyzer.nix b/modules/by-name/nv/nvim/plgs/lsp/servers/servers/pylyzer.nix
index b1042221..3ac66102 100644
--- a/modules/home.legacy/conf/nvim/plgs/lsp/servers/servers/pylyzer.nix
+++ b/modules/by-name/nv/nvim/plgs/lsp/servers/servers/pylyzer.nix
@@ -1,5 +1,12 @@
-{pkgs, ...}: {
-  programs.nixvim = {
+{
+  config,
+  lib,
+  pkgs,
+  ...
+}: let
+  cfg = config.soispha.programs.nvim;
+in {
+  home-manager.users.soispha.programs.nixvim = lib.mkIf cfg.enable {
     extraConfigLuaPost =
       /*
       lua
diff --git a/modules/home.legacy/conf/nvim/plgs/lsp/servers/servers/quick-lint-js.nix b/modules/by-name/nv/nvim/plgs/lsp/servers/servers/quick-lint-js.nix
index 23c3054a..48a3a71c 100644
--- a/modules/home.legacy/conf/nvim/plgs/lsp/servers/servers/quick-lint-js.nix
+++ b/modules/by-name/nv/nvim/plgs/lsp/servers/servers/quick-lint-js.nix
@@ -1,5 +1,12 @@
-{pkgs, ...}: {
-  programs.nixvim = {
+{
+  config,
+  lib,
+  pkgs,
+  ...
+}: let
+  cfg = config.soispha.programs.nvim;
+in {
+  home-manager.users.soispha.programs.nixvim = lib.mkIf cfg.enable {
     extraConfigLuaPost =
       /*
       lua
diff --git a/modules/by-name/nv/nvim/plgs/lsp/servers/servers/ruff-lsp.nix b/modules/by-name/nv/nvim/plgs/lsp/servers/servers/ruff-lsp.nix
new file mode 100644
index 00000000..41b3118a
--- /dev/null
+++ b/modules/by-name/nv/nvim/plgs/lsp/servers/servers/ruff-lsp.nix
@@ -0,0 +1,17 @@
+{
+  pkgs,
+  config,
+  lib,
+  ...
+}: let
+  cfg = config.soispha.programs.nvim;
+in {
+  home-manager.users.soispha.programs.nixvim = lib.mkIf cfg.enable {
+    plugins.lsp.servers = {
+      ruff_lsp = {
+        enable = true;
+      };
+    };
+    extraPackages = with pkgs; [ruff];
+  };
+}
diff --git a/modules/home.legacy/conf/nvim/plgs/lsp/servers/servers/rust-analyzer.nix b/modules/by-name/nv/nvim/plgs/lsp/servers/servers/rust-analyzer.nix
index 5da61a71..01cd11f4 100644
--- a/modules/home.legacy/conf/nvim/plgs/lsp/servers/servers/rust-analyzer.nix
+++ b/modules/by-name/nv/nvim/plgs/lsp/servers/servers/rust-analyzer.nix
@@ -1,5 +1,11 @@
-{...}: {
-  programs.nixvim.plugins.lsp.servers = {
+{
+  config,
+  lib,
+  ...
+}: let
+  cfg = config.soispha.programs.nvim;
+in {
+  home-manager.users.soispha.programs.nixvim.plugins.lsp.servers = lib.mkIf cfg.enable {
     rust_analyzer = {
       enable = true;
       settings = {
diff --git a/modules/by-name/nv/nvim/plgs/lsp/servers/servers/texlab.nix b/modules/by-name/nv/nvim/plgs/lsp/servers/servers/texlab.nix
new file mode 100644
index 00000000..3f91beb5
--- /dev/null
+++ b/modules/by-name/nv/nvim/plgs/lsp/servers/servers/texlab.nix
@@ -0,0 +1,13 @@
+{
+  config,
+  lib,
+  ...
+}: let
+  cfg = config.soispha.programs.nvim;
+in {
+  home-manager.users.soispha.programs.nixvim.plugins.lsp.servers = lib.mkIf cfg.enable {
+    texlab = {
+      enable = true;
+    };
+  };
+}
diff --git a/modules/by-name/nv/nvim/plgs/lspkind/default.nix b/modules/by-name/nv/nvim/plgs/lspkind/default.nix
new file mode 100644
index 00000000..078d607d
--- /dev/null
+++ b/modules/by-name/nv/nvim/plgs/lspkind/default.nix
@@ -0,0 +1,12 @@
+{
+  config,
+  lib,
+  ...
+}: let
+  cfg = config.soispha.programs.nvim;
+in {
+  home-manager.users.soispha.programs.nixvim.plugins.lspkind = lib.mkIf cfg.enable {
+    enable = true;
+    preset = "default"; # "codicons" is only for a font patched with vscode-codeicons.
+  };
+}
diff --git a/modules/home.legacy/conf/nvim/plgs/ltex_extra/default.nix b/modules/by-name/nv/nvim/plgs/ltex_extra/default.nix
index af78c7a5..c37a7591 100644
--- a/modules/home.legacy/conf/nvim/plgs/ltex_extra/default.nix
+++ b/modules/by-name/nv/nvim/plgs/ltex_extra/default.nix
@@ -1,5 +1,12 @@
-{pkgs, ...}: {
-  programs.nixvim = {
+{
+  pkgs,
+  config,
+  lib,
+  ...
+}: let
+  cfg = config.soispha.programs.nvim;
+in {
+  home-manager.users.soispha.programs.nixvim = lib.mkIf cfg.enable {
     # TODO: package ltex_extra though a module
     extraPlugins = [
       pkgs.vimPlugins.ltex_extra-nvim
diff --git a/modules/home.legacy/conf/nvim/plgs/ltex_extra/lua/ltex_extra.lua b/modules/by-name/nv/nvim/plgs/ltex_extra/lua/ltex_extra.lua
index d532428a..d532428a 100644
--- a/modules/home.legacy/conf/nvim/plgs/ltex_extra/lua/ltex_extra.lua
+++ b/modules/by-name/nv/nvim/plgs/ltex_extra/lua/ltex_extra.lua
diff --git a/modules/by-name/nv/nvim/plgs/lualine/default.nix b/modules/by-name/nv/nvim/plgs/lualine/default.nix
new file mode 100644
index 00000000..2f3bb552
--- /dev/null
+++ b/modules/by-name/nv/nvim/plgs/lualine/default.nix
@@ -0,0 +1,128 @@
+{
+  config,
+  lib,
+  ...
+}: let
+  cfg = config.soispha.programs.nvim;
+in {
+  home-manager.users.soispha.programs.nixvim.plugins.lualine = let
+    get_location_of_file = {
+      __raw = ''
+        function()
+            local file_lines = vim.fn.line('$');
+            local file_current_cursor_positon = vim.fn.getcurpos();
+            return file_current_cursor_positon[3] .. ":" .. file_current_cursor_positon[2] .. "/" .. file_lines
+        end
+      '';
+    };
+
+    get_trailing_whitespace = {
+      __raw = ''
+        function()
+            local space = vim.fn.search([[\s\+$]], 'nwc')
+            return space ~= 0 and "TW:" .. space or ""
+        end
+      '';
+    };
+    get_mixed_indent = {
+      __raw =
+        /*
+        lua
+        */
+        ''
+          function()
+              local space_pat = [[\v^ +]]
+              local tab_pat = [[\v^\t+]]
+              local space_indent = vim.fn.search(space_pat, 'nwc')
+              local tab_indent = vim.fn.search(tab_pat, 'nwc')
+              local mixed = (space_indent > 0 and tab_indent > 0)
+              local mixed_same_line
+              if not mixed then
+                  mixed_same_line = vim.fn.search([[\v^(\t+ | +\t)]], 'nwc')
+                  mixed = mixed_same_line > 0
+              end
+              if not mixed then return "" end
+              if mixed_same_line ~= nil and mixed_same_line > 0 then
+                  return 'MI:' .. mixed_same_line
+              end
+              local space_indent_cnt = vim.fn.searchcount({ pattern = space_pat, max_count = 1e3 }).total
+              local tab_indent_cnt = vim.fn.searchcount({ pattern = tab_pat, max_count = 1e3 }).total
+              if space_indent_cnt > tab_indent_cnt then
+                  return 'MI:' .. tab_indent
+              else
+                  return 'MI:' .. space_indent
+              end
+          end
+        '';
+    };
+  in
+    lib.mkIf cfg.enable {
+      enable = true;
+
+      settings = {
+        options = {
+          iconsEnabled = true;
+          theme = "nightfox";
+        };
+
+        # TODO: add all installed and supported extensions here
+        extensions = [
+          "toggleterm"
+          #"fugitive" # TODO: maybe add this?
+        ];
+
+        componentSeparators = {
+          left = "";
+          right = "";
+        };
+        sectionSeparators = {
+          left = "";
+          right = "";
+        };
+        disabledFiletypes = {
+          statusline = [];
+          winbar = [];
+        };
+        ignoreFocus = [];
+        alwaysDivideMiddle = true;
+        globalstatus = false;
+        refresh = {
+          statusline = 1000;
+          tabline = 1000;
+          winbar = 1000;
+        };
+        sections = {
+          lualine_a = ["mode"];
+          lualine_b = [
+            {
+              __raw = ''
+                {'FugitiveHead',  icon = ""}
+              '';
+            }
+            "diff"
+            "diagnostics"
+          ];
+          lualine_c = ["filename"];
+          lualine_x = ["searchcount" "filetype"];
+          lualine_y = [
+            "encoding"
+            "fileformat"
+            get_mixed_indent
+            get_trailing_whitespace
+          ];
+          lualine_z = [get_location_of_file];
+        };
+        inactiveSections = {
+          lualine_a = [];
+          lualine_b = [];
+          lualine_c = ["filename"];
+          lualine_x = [get_location_of_file];
+          lualine_y = [];
+          lualine_z = [];
+        };
+        tabline = {};
+        winbar = {};
+        inactiveWinbar = {};
+      };
+    };
+}
diff --git a/modules/home.legacy/conf/nvim/plgs/luasnip/default.nix b/modules/by-name/nv/nvim/plgs/luasnip/default.nix
index 130fafee..f67c9899 100644
--- a/modules/home.legacy/conf/nvim/plgs/luasnip/default.nix
+++ b/modules/by-name/nv/nvim/plgs/luasnip/default.nix
@@ -1,9 +1,12 @@
 {
   lib,
+  config,
   pkgs,
   ...
-}: {
-  programs.nixvim = {
+}: let
+  cfg = config.soispha.programs.nvim;
+in {
+  home-manager.users.soispha.programs.nixvim = lib.mkIf cfg.enable {
     plugins.luasnip = {
       enable = true;
     };
diff --git a/modules/home.legacy/conf/nvim/plgs/luasnip/lua/luasnip.lua b/modules/by-name/nv/nvim/plgs/luasnip/lua/luasnip.lua
index a05fa57f..a05fa57f 100644
--- a/modules/home.legacy/conf/nvim/plgs/luasnip/lua/luasnip.lua
+++ b/modules/by-name/nv/nvim/plgs/luasnip/lua/luasnip.lua
diff --git a/modules/home.legacy/conf/nvim/plgs/luasnip/lua/snippets/all.lua b/modules/by-name/nv/nvim/plgs/luasnip/lua/snippets/all.lua
index 2b923f20..2b923f20 100644
--- a/modules/home.legacy/conf/nvim/plgs/luasnip/lua/snippets/all.lua
+++ b/modules/by-name/nv/nvim/plgs/luasnip/lua/snippets/all.lua
diff --git a/modules/home.legacy/conf/nvim/plgs/luasnip/lua/snippets/html/html.lua b/modules/by-name/nv/nvim/plgs/luasnip/lua/snippets/html/html.lua
index 568c97ec..568c97ec 100644
--- a/modules/home.legacy/conf/nvim/plgs/luasnip/lua/snippets/html/html.lua
+++ b/modules/by-name/nv/nvim/plgs/luasnip/lua/snippets/html/html.lua
diff --git a/modules/home.legacy/conf/nvim/plgs/luasnip/lua/snippets/tex/delimiter.lua b/modules/by-name/nv/nvim/plgs/luasnip/lua/snippets/tex/delimiter.lua
index ef453973..ef453973 100644
--- a/modules/home.legacy/conf/nvim/plgs/luasnip/lua/snippets/tex/delimiter.lua
+++ b/modules/by-name/nv/nvim/plgs/luasnip/lua/snippets/tex/delimiter.lua
diff --git a/modules/home.legacy/conf/nvim/plgs/luasnip/lua/snippets/tex/greek.lua b/modules/by-name/nv/nvim/plgs/luasnip/lua/snippets/tex/greek.lua
index ebf4f9d7..ebf4f9d7 100644
--- a/modules/home.legacy/conf/nvim/plgs/luasnip/lua/snippets/tex/greek.lua
+++ b/modules/by-name/nv/nvim/plgs/luasnip/lua/snippets/tex/greek.lua
diff --git a/modules/by-name/nv/nvim/plgs/neorg/default.nix b/modules/by-name/nv/nvim/plgs/neorg/default.nix
new file mode 100644
index 00000000..cf046e06
--- /dev/null
+++ b/modules/by-name/nv/nvim/plgs/neorg/default.nix
@@ -0,0 +1,70 @@
+{
+  config,
+  lib,
+  pkgsStable,
+  ...
+}: let
+  cfg = config.soispha.programs.nvim;
+in {
+  home-manager.users.soispha.programs.nixvim.plugins = lib.mkIf cfg.enable {
+    cmp.settings.sources = [
+      {name = "neorg";}
+    ];
+
+    neorg = {
+      package = pkgsStable.vimPlugins.neorg;
+      enable = true;
+      lazyLoading = true;
+
+      modules = {
+        "core.defaults" = {
+          __empty = null;
+        };
+        "core.esupports.metagen".config = {
+          type = "auto";
+        };
+        "core.journal".config = {
+          workspace = "journal";
+        };
+        "core.keybinds".config = {
+          hook = {
+            __raw = ''
+              function(keybinds)
+                  -- remap the looking glas to the same key, femaco is also mapped to.
+                  keybinds.remap_event("norg", "n", "<space>cc", "core.looking-glass.magnify-code-block")
+
+                  keybinds.remap_event("norg", "n", "<C-s>", "core.integrations.telescope.find_linkable")
+                  keybinds.remap_event("norg", "i", "<C-i>", "core.integrations.telescope.insert_link")
+              end,
+            '';
+          };
+        };
+        "core.completion".config = {
+          engine = "nvim-cmp";
+        };
+        "core.concealer".config = {
+          __empty = null;
+        };
+        "core.dirman".config = {
+          workspaces = {
+            general = "~/repos/notes/general";
+            journal = "~/repos/notes/journal";
+            projects = "~/repos/notes/projects";
+          };
+        };
+        "core.export".config = {
+          __empty = null;
+        };
+        "core.integrations.telescope".config = {
+          __empty = null;
+        };
+
+        # TODO: Add this when the nvim version in nixpkgs is >= 0.10 <2023-08-29>
+        #
+        # "core.ui.calendar".config = {
+        #   __empty = null;
+        # };
+      };
+    };
+  };
+}
diff --git a/modules/home.legacy/conf/nvim/plgs/nvim-cmp/default.nix b/modules/by-name/nv/nvim/plgs/nvim-cmp/default.nix
index ed0e57c3..8d61dbd7 100644
--- a/modules/home.legacy/conf/nvim/plgs/nvim-cmp/default.nix
+++ b/modules/by-name/nv/nvim/plgs/nvim-cmp/default.nix
@@ -1,10 +1,11 @@
-{config, ...}: {
-  programs.nixvim.plugins.cmp = let
-    neorg_source =
-      if config.programs.nixvim.plugins.neorg.modules."core.completion".config.engine == "nvim-cmp"
-      then [{name = "neorg";}]
-      else [];
-  in {
+{
+  config,
+  lib,
+  ...
+}: let
+  cfg = config.soispha.programs.nvim;
+in {
+  home-manager.users.soispha.programs.nixvim.plugins.cmp = lib.mkIf cfg.enable {
     /*
     TODO: integrate this:
     ```lua
@@ -36,19 +37,17 @@
 
       snippet.expand = "function(args) require('luasnip').lsp_expand(args.body) end";
 
-      sources =
-        [
-          {name = "nvim_lsp";}
-          {name = "luasnip";}
-          {name = "path";}
-          {name = "git";} # TODO: I might want to add config to allow all issues/prs <2023-10-16>
-          # {name = "convertionalcommits";} # TODO: Useless without commitlint [https://commitlint.js.org/] <2023-10-16>
-          # {name = "rg";} # TODO: This might really RIP-grep my system <2023-10-16>
-          # {name = "buffer";}
-          # {name = "digraphs";}
-          {name = "calc";}
-        ]
-        ++ neorg_source;
+      sources = [
+        {name = "nvim_lsp";}
+        {name = "luasnip";}
+        {name = "path";}
+        {name = "git";} # TODO: I might want to add config to allow all issues/prs <2023-10-16>
+        # {name = "convertionalcommits";} # TODO: Useless without commitlint [https://commitlint.js.org/] <2023-10-16>
+        # {name = "rg";} # TODO: This might really RIP-grep my system <2023-10-16>
+        # {name = "buffer";}
+        # {name = "digraphs";}
+        {name = "calc";}
+      ];
     };
   };
 }
diff --git a/modules/home.legacy/conf/nvim/plgs/nvim-lint/default.nix b/modules/by-name/nv/nvim/plgs/nvim-lint/default.nix
index f5cb9acf..ee057a9b 100644
--- a/modules/home.legacy/conf/nvim/plgs/nvim-lint/default.nix
+++ b/modules/by-name/nv/nvim/plgs/nvim-lint/default.nix
@@ -1,9 +1,12 @@
 {
   pkgs,
+  config,
   lib,
   ...
-}: {
-  programs.nixvim = {
+}: let
+  cfg = config.soispha.programs.nvim;
+in {
+  home-manager.users.soispha.programs.nixvim = lib.mkIf cfg.enable {
     # TODO: package nvim-lint though a module
     extraConfigLuaPost = ''
       ${lib.strings.fileContents ./lua/nvim-lint.lua}
diff --git a/modules/home.legacy/conf/nvim/plgs/nvim-lint/lua/nvim-lint.lua b/modules/by-name/nv/nvim/plgs/nvim-lint/lua/nvim-lint.lua
index 770c3bb5..770c3bb5 100644
--- a/modules/home.legacy/conf/nvim/plgs/nvim-lint/lua/nvim-lint.lua
+++ b/modules/by-name/nv/nvim/plgs/nvim-lint/lua/nvim-lint.lua
diff --git a/modules/home.legacy/conf/nvim/plgs/raw_plugins/default.nix b/modules/by-name/nv/nvim/plgs/raw_plugins/default.nix
index 941cb7cb..e5d401a0 100644
--- a/modules/home.legacy/conf/nvim/plgs/raw_plugins/default.nix
+++ b/modules/by-name/nv/nvim/plgs/raw_plugins/default.nix
@@ -1,5 +1,11 @@
-{...}: {
-  programs.nixvim = {
+{
+  config,
+  lib,
+  ...
+}: let
+  cfg = config.soispha.programs.nvim;
+in {
+  home-manager.users.soispha.programs.nixvim = lib.mkIf cfg.enable {
     # Not all plugins have own modules
     # You can add missing plugins here
     # `pkgs.vimExtraPlugins` is added by the overlay you added at the beginning
diff --git a/modules/home.legacy/conf/nvim/plgs/telescope/default.nix b/modules/by-name/nv/nvim/plgs/telescope/default.nix
index c32e139c..193ee1ac 100644
--- a/modules/home.legacy/conf/nvim/plgs/telescope/default.nix
+++ b/modules/by-name/nv/nvim/plgs/telescope/default.nix
@@ -1,10 +1,16 @@
-{...}: {
+{
+  config,
+  lib,
+  ...
+}: let
+  cfg = config.soispha.programs.nvim;
+in {
   imports = [
     ./defaults
     ./keymaps
     ./extensions
   ];
-  programs.nixvim.plugins = {
+  home-manager.users.soispha.programs.nixvim.plugins = lib.mkIf cfg.enable {
     telescope = {
       enable = true;
     };
diff --git a/modules/home.legacy/conf/nvim/plgs/telescope/defaults/default.nix b/modules/by-name/nv/nvim/plgs/telescope/defaults/default.nix
index 933089ef..11d04304 100644
--- a/modules/home.legacy/conf/nvim/plgs/telescope/defaults/default.nix
+++ b/modules/by-name/nv/nvim/plgs/telescope/defaults/default.nix
@@ -1,5 +1,11 @@
-{...}: {
-  programs.nixvim.plugins.telescope.settings.defaults = {
+{
+  config,
+  lib,
+  ...
+}: let
+  cfg = config.soispha.programs.nvim;
+in {
+  home-manager.users.soispha.programs.nixvim.plugins.telescope.settings.defaults = lib.mkIf cfg.enable {
     mappings = let
       insert_and_normal_mappings = {
         # map actions.which_key to <c-h> (default: <c-/>)
diff --git a/modules/home.legacy/conf/nvim/plgs/telescope/extensions/bibtex/default.nix b/modules/by-name/nv/nvim/plgs/telescope/extensions/bibtex/default.nix
index 6f3cc2ea..e263cfdc 100644
--- a/modules/home.legacy/conf/nvim/plgs/telescope/extensions/bibtex/default.nix
+++ b/modules/by-name/nv/nvim/plgs/telescope/extensions/bibtex/default.nix
@@ -1,6 +1,13 @@
-{pkgs, ...}: {
+{
+  pkgs,
+  config,
+  lib,
+  ...
+}: let
+  cfg = config.soispha.programs.nvim;
+in {
   # WARNING: This is only activated in tex files via the ftplugin.
-  programs.nixvim = {
+  home-manager.users.soispha.programs.nixvim = lib.mkIf cfg.enable {
     extraPlugins = [
       pkgs.vimExtraPlugins.telescope-bibtex-nvim
     ];
diff --git a/modules/home.legacy/conf/nvim/plgs/telescope/extensions/default.nix b/modules/by-name/nv/nvim/plgs/telescope/extensions/default.nix
index 0b1e033a..0b1e033a 100644
--- a/modules/home.legacy/conf/nvim/plgs/telescope/extensions/default.nix
+++ b/modules/by-name/nv/nvim/plgs/telescope/extensions/default.nix
diff --git a/modules/home.legacy/conf/nvim/plgs/telescope/extensions/frecency/default.nix b/modules/by-name/nv/nvim/plgs/telescope/extensions/frecency/default.nix
index 0e007b80..f4e3d116 100644
--- a/modules/home.legacy/conf/nvim/plgs/telescope/extensions/frecency/default.nix
+++ b/modules/by-name/nv/nvim/plgs/telescope/extensions/frecency/default.nix
@@ -1,5 +1,11 @@
-{...}: {
-  programs.nixvim = {
+{
+  lib,
+  config,
+  ...
+}: let
+  cfg = config.soispha.programs.nvim;
+in {
+  home-manager.users.soispha.programs.nixvim = lib.mkIf cfg.enable {
     keymaps = [
       {
         key = "gff";
diff --git a/modules/by-name/nv/nvim/plgs/telescope/extensions/fzy-native/default.nix b/modules/by-name/nv/nvim/plgs/telescope/extensions/fzy-native/default.nix
new file mode 100644
index 00000000..4194e688
--- /dev/null
+++ b/modules/by-name/nv/nvim/plgs/telescope/extensions/fzy-native/default.nix
@@ -0,0 +1,11 @@
+{
+  config,
+  lib,
+  ...
+}: let
+  cfg = config.soispha.programs.nvim;
+in {
+  home-manager.users.soispha.programs.nixvim.plugins.telescope.extensions.fzy-native = lib.mkIf cfg.enable {
+    enable = true;
+  };
+}
diff --git a/modules/by-name/nv/nvim/plgs/telescope/extensions/rooter/default.nix b/modules/by-name/nv/nvim/plgs/telescope/extensions/rooter/default.nix
new file mode 100644
index 00000000..6153b063
--- /dev/null
+++ b/modules/by-name/nv/nvim/plgs/telescope/extensions/rooter/default.nix
@@ -0,0 +1,13 @@
+{
+  lib,
+  config,
+  ...
+}: let
+  cfg = config.soispha.programs.nvim;
+in {
+  home-manager.users.soispha.programs.nixvim = lib.mkIf cfg.enable {
+    extraConfigLuaPost = ''
+      ${lib.strings.fileContents ./lua/rooter.lua}
+    '';
+  };
+}
diff --git a/modules/home.legacy/conf/nvim/plgs/telescope/extensions/rooter/lua/rooter.lua b/modules/by-name/nv/nvim/plgs/telescope/extensions/rooter/lua/rooter.lua
index 48a8588d..48a8588d 100644
--- a/modules/home.legacy/conf/nvim/plgs/telescope/extensions/rooter/lua/rooter.lua
+++ b/modules/by-name/nv/nvim/plgs/telescope/extensions/rooter/lua/rooter.lua
diff --git a/modules/home.legacy/conf/nvim/plgs/telescope/extensions/symbols/default.nix b/modules/by-name/nv/nvim/plgs/telescope/extensions/symbols/default.nix
index 05b4a4f2..adbb466a 100644
--- a/modules/home.legacy/conf/nvim/plgs/telescope/extensions/symbols/default.nix
+++ b/modules/by-name/nv/nvim/plgs/telescope/extensions/symbols/default.nix
@@ -1,5 +1,12 @@
-{pkgs, ...}: {
-  programs.nixvim = {
+{
+  pkgs,
+  config,
+  lib,
+  ...
+}: let
+  cfg = config.soispha.programs.nvim;
+in {
+  home-manager.users.soispha.programs.nixvim = lib.mkIf cfg.enable {
     extraPlugins = [
       # Source of symbols for telescope symbols
       pkgs.vimPlugins.telescope-symbols-nvim
diff --git a/modules/by-name/nv/nvim/plgs/telescope/keymaps/default.nix b/modules/by-name/nv/nvim/plgs/telescope/keymaps/default.nix
new file mode 100644
index 00000000..a474f097
--- /dev/null
+++ b/modules/by-name/nv/nvim/plgs/telescope/keymaps/default.nix
@@ -0,0 +1,16 @@
+{
+  config,
+  lib,
+  ...
+}: let
+  cfg = config.soispha.programs.nvim;
+in {
+  home-manager.users.soispha.programs.nixvim.plugins.telescope.keymaps = lib.mkIf cfg.enable {
+    "<space>rg" = {
+      action = "live_grep";
+      options = {
+        desc = "[rg] in a live session";
+      };
+    };
+  };
+}
diff --git a/modules/home.legacy/conf/nvim/plgs/todo-comments/default.nix b/modules/by-name/nv/nvim/plgs/todo-comments/default.nix
index e33f961b..ddbe367d 100644
--- a/modules/home.legacy/conf/nvim/plgs/todo-comments/default.nix
+++ b/modules/by-name/nv/nvim/plgs/todo-comments/default.nix
@@ -1,5 +1,11 @@
-{...}: {
-  programs.nixvim.plugins.todo-comments = {
+{
+  config,
+  lib,
+  ...
+}: let
+  cfg = config.soispha.programs.nvim;
+in {
+  home-manager.users.soispha.programs.nixvim.plugins.todo-comments = lib.mkIf cfg.enable {
     enable = true;
     settings = {
       guiStyle = {
diff --git a/modules/home.legacy/conf/nvim/plgs/treesitter/default.nix b/modules/by-name/nv/nvim/plgs/treesitter/default.nix
index b4b20388..02088d0a 100644
--- a/modules/home.legacy/conf/nvim/plgs/treesitter/default.nix
+++ b/modules/by-name/nv/nvim/plgs/treesitter/default.nix
@@ -3,8 +3,10 @@
   pkgs,
   lib,
   ...
-}: {
-  programs.nixvim = {
+}: let
+  cfg = config.soispha.programs.nvim;
+in {
+  home-manager.users.soispha.  programs.nixvim = lib.mkIf cfg.enable {
     plugins.treesitter = {
       enable = true;
 
@@ -18,7 +20,9 @@
 
       nixGrammars = true;
       grammarPackages =
-        config.programs.nixvim.plugins.treesitter.package.passthru.allGrammars
+        # Append the `tree-sitter-yts` grammar to all the other grammars.
+        # TODO: Find a better way to do this. <2024-11-08>
+        config.home-manager.users.soispha.programs.nixvim.plugins.treesitter.package.passthru.allGrammars
         ++ [pkgs.tree-sitter-yts];
 
       settings = {
diff --git a/modules/home.legacy/conf/nvim/plgs/vim-tex/default.nix b/modules/by-name/nv/nvim/plgs/vim-tex/default.nix
index 0b92c429..680f169a 100644
--- a/modules/home.legacy/conf/nvim/plgs/vim-tex/default.nix
+++ b/modules/by-name/nv/nvim/plgs/vim-tex/default.nix
@@ -1,5 +1,11 @@
-{...}: {
-  programs.nixvim = {
+{
+  config,
+  lib,
+  ...
+}: let
+  cfg = config.soispha.programs.nvim;
+in {
+  home-manager.users.soispha.programs.nixvim = lib.mkIf cfg.enable {
     opts.conceallevel = 0;
 
     plugins.vimtex = {
diff --git a/modules/by-name/nv/nvim/plgs/which-key/default.nix b/modules/by-name/nv/nvim/plgs/which-key/default.nix
new file mode 100644
index 00000000..20004bb1
--- /dev/null
+++ b/modules/by-name/nv/nvim/plgs/which-key/default.nix
@@ -0,0 +1,11 @@
+{
+  config,
+  lib,
+  ...
+}: let
+  cfg = config.soispha.programs.nvim;
+in {
+  home-manager.users.soispha.programs.nixvim.plugins.which-key = lib.mkIf cfg.enable {
+    enable = true;
+  };
+}