From eb0b879bea2500ae893f8abfed8f9597c8ba3d11 Mon Sep 17 00:00:00 2001
From: Michael Thomas <michaelhthomas@outlook.com>
Date: Thu, 18 Jul 2024 21:54:27 -0400
Subject: [PATCH 01/21] fix(nvim): re-enable luasnip

---
 pkgs/nvim/config/completion/cmp.nix | 5 +++++
 pkgs/nvim/config/default.nix        | 2 +-
 2 files changed, 6 insertions(+), 1 deletion(-)

diff --git a/pkgs/nvim/config/completion/cmp.nix b/pkgs/nvim/config/completion/cmp.nix
index 7b45ef2..c6824e5 100644
--- a/pkgs/nvim/config/completion/cmp.nix
+++ b/pkgs/nvim/config/completion/cmp.nix
@@ -28,12 +28,16 @@
             })
           '';
         };
+        snippet = {
+          expand = "function(args) require('luasnip').lsp_expand(args.body) end";
+        };
         sources = {
           __raw = ''
             cmp.config.sources({
               {name = 'nvim_lsp'},
               {name = 'copilot'},
               {name = 'path'},
+              {name = 'luasnip'},
               {name = 'cmdline'},
               }, {
             {name = 'buffer'},
@@ -69,6 +73,7 @@
     cmp-path.enable = true;
   };
   extraConfigLua = ''
+      luasnip = require("luasnip")
       kind_icons = {
         Text = "󰊄",
         Method = "",
diff --git a/pkgs/nvim/config/default.nix b/pkgs/nvim/config/default.nix
index 59a39ca..eb3f2a8 100644
--- a/pkgs/nvim/config/default.nix
+++ b/pkgs/nvim/config/default.nix
@@ -38,7 +38,7 @@
 
     ./none-ls/none-ls.nix
 
-    # ./snippets/luasnip.nix
+    ./snippets/luasnip.nix
 
     ./statusline/lualine.nix
 

From 8da217aee3534ab131929d2a89424c3e6427e95a Mon Sep 17 00:00:00 2001
From: Michael Thomas <michaelhthomas@outlook.com>
Date: Mon, 8 Jul 2024 11:33:34 -0400
Subject: [PATCH 02/21] fix(nvim): remove disable arrow keys bindings

---
 pkgs/nvim/config/keymaps.nix | 41 ------------------------------------
 1 file changed, 41 deletions(-)

diff --git a/pkgs/nvim/config/keymaps.nix b/pkgs/nvim/config/keymaps.nix
index 5e5490d..4b02c77 100644
--- a/pkgs/nvim/config/keymaps.nix
+++ b/pkgs/nvim/config/keymaps.nix
@@ -109,47 +109,6 @@
       action = "<cmd>vertical resize +2<cr>";
       options = {desc = "Increase Window Width";};
     }
-    # Disable arrow keys
-    {
-      mode = ["n" "i"];
-      key = "<Up>";
-      action = "<Nop>";
-      options = {
-        silent = true;
-        noremap = true;
-        desc = "Disable Up arrow key";
-      };
-    }
-    {
-      mode = ["n" "i"];
-      key = "<Down>";
-      action = "<Nop>";
-      options = {
-        silent = true;
-        noremap = true;
-        desc = "Disable Down arrow key";
-      };
-    }
-    {
-      mode = ["n" "i"];
-      key = "<Right>";
-      action = "<Nop>";
-      options = {
-        silent = true;
-        noremap = true;
-        desc = "Disable Right arrow key";
-      };
-    }
-    {
-      mode = ["n" "i"];
-      key = "<Left>";
-      action = "<Nop>";
-      options = {
-        silent = true;
-        noremap = true;
-        desc = "Disable Left arrow key";
-      };
-    }
 
     # General maps
     {

From 2ed0bfc81a8299b094a9f326ecf6e013936deb03 Mon Sep 17 00:00:00 2001
From: Michael Thomas <michaelhthomas@outlook.com>
Date: Mon, 8 Jul 2024 11:33:45 -0400
Subject: [PATCH 03/21] fix(nvim): make closing buffers work as expected

---
 pkgs/nvim/config/bufferlines/bufferline.nix | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/pkgs/nvim/config/bufferlines/bufferline.nix b/pkgs/nvim/config/bufferlines/bufferline.nix
index 02ebb83..d4d9780 100644
--- a/pkgs/nvim/config/bufferlines/bufferline.nix
+++ b/pkgs/nvim/config/bufferlines/bufferline.nix
@@ -1,4 +1,5 @@
 {
+  pkgs,
   helpers,
   icons,
   ...
@@ -25,8 +26,10 @@
           text_align = "left";
         }
       ];
+      closeCommand = "Bdelete! %d";
     };
   };
+  extraPlugins = with pkgs.vimPlugins; [bufdelete-nvim];
   keymaps = [
     {
       mode = "n";
@@ -67,7 +70,7 @@
     {
       mode = "n";
       key = "<leader>bd";
-      action = "<cmd>bdelete<cr>";
+      action = "<cmd>Bdelete<cr>";
       options = {
         desc = "Delete buffer";
       };

From c843170b5dadb9fc2fcc3f5470615225bfacaf6f Mon Sep 17 00:00:00 2001
From: Michael Thomas <michaelhthomas@outlook.com>
Date: Fri, 2 Aug 2024 09:42:32 -0400
Subject: [PATCH 04/21] feat(nvim): add neoconf.nvim

---
 pkgs/nvim/config/default.nix       | 1 +
 pkgs/nvim/config/utils/neoconf.nix | 7 +++++++
 2 files changed, 8 insertions(+)
 create mode 100644 pkgs/nvim/config/utils/neoconf.nix

diff --git a/pkgs/nvim/config/default.nix b/pkgs/nvim/config/default.nix
index eb3f2a8..97e12fb 100644
--- a/pkgs/nvim/config/default.nix
+++ b/pkgs/nvim/config/default.nix
@@ -59,6 +59,7 @@
     ./utils/illuminate.nix # highlight other uses of current word
     ./utils/markdown-preview.nix
     ./utils/mini.nix # lots of utilities
+    ./utils/neoconf.nix
     # ./utils/neodev.nix # lua development
     ./utils/neotest.nix # test runner
     ./utils/nvim-colorizer.nix
diff --git a/pkgs/nvim/config/utils/neoconf.nix b/pkgs/nvim/config/utils/neoconf.nix
new file mode 100644
index 0000000..0011880
--- /dev/null
+++ b/pkgs/nvim/config/utils/neoconf.nix
@@ -0,0 +1,7 @@
+{pkgs, ...}: {
+  extraPlugins = with pkgs.vimPlugins; [neoconf-nvim];
+
+  extraConfigLuaPre = ''
+    require("neoconf").setup()
+  '';
+}

From c88767756017c69c684f24a817f3290e51933572 Mon Sep 17 00:00:00 2001
From: Michael Thomas <michaelhthomas@outlook.com>
Date: Fri, 2 Aug 2024 09:45:18 -0400
Subject: [PATCH 05/21] fix(mac): install spicetify from nixpkgs master

---
 flake.lock                     | 16 ++++++++++++++++
 flake.nix                      |  1 +
 machines/mac/configuration.nix |  2 +-
 overlays/default.nix           |  9 +++++++--
 4 files changed, 25 insertions(+), 3 deletions(-)

diff --git a/flake.lock b/flake.lock
index 052e768..6aedead 100644
--- a/flake.lock
+++ b/flake.lock
@@ -501,6 +501,21 @@
         "type": "github"
       }
     },
+    "master": {
+      "locked": {
+        "lastModified": 1722605938,
+        "narHash": "sha256-jEpnC5ChZozKqSQ0PCpd1f+nN7A/7d45MV0I/20gcS8=",
+        "owner": "NixOS",
+        "repo": "nixpkgs",
+        "rev": "8f3018de97f0b078911e217be698a67c83557b5a",
+        "type": "github"
+      },
+      "original": {
+        "owner": "NixOS",
+        "repo": "nixpkgs",
+        "type": "github"
+      }
+    },
     "nix-darwin": {
       "inputs": {
         "nixpkgs": [
@@ -700,6 +715,7 @@
         "flake-parts": "flake-parts",
         "home-manager": "home-manager_2",
         "hyprland": "hyprland",
+        "master": "master",
         "nix-vscode-extensions": "nix-vscode-extensions",
         "nixpkgs": "nixpkgs_4",
         "nixvim": "nixvim",
diff --git a/flake.nix b/flake.nix
index 3e2cb28..c5e4934 100644
--- a/flake.nix
+++ b/flake.nix
@@ -4,6 +4,7 @@
   inputs = {
     nixpkgs.url = "nixpkgs/nixos-24.05";
     unstable.url = "nixpkgs/nixos-unstable";
+    master.url = "github:NixOS/nixpkgs";
     nur.url = "github:nix-community/NUR";
 
     home-manager = {
diff --git a/machines/mac/configuration.nix b/machines/mac/configuration.nix
index 47514eb..f56efff 100644
--- a/machines/mac/configuration.nix
+++ b/machines/mac/configuration.nix
@@ -27,7 +27,7 @@
       # Video
       ffmpeg
       # Spotify
-      unstable.spicetify-cli
+      master.spicetify-cli
       # Java
       checkstyle
       # XCode
diff --git a/overlays/default.nix b/overlays/default.nix
index b9cb445..b0c50b4 100644
--- a/overlays/default.nix
+++ b/overlays/default.nix
@@ -5,7 +5,7 @@
   # This one brings our custom packages from the 'pkgs' directory
   additions = final: _prev:
     import ../pkgs {
-      pkgs = final.pkgs;
+      inherit (final) pkgs;
       inherit inputs;
     };
 
@@ -22,7 +22,12 @@
   # be accessible through 'pkgs.unstable'
   unstable-packages = final: _prev: {
     unstable = import inputs.unstable {
-      system = final.system;
+      inherit (final) system;
+      config.allowUnfree = true;
+    };
+
+    master = import inputs.master {
+      inherit (final) system;
       config.allowUnfree = true;
     };
   };

From faa11b525a14dfc1cc9779bbda753315fa66ca21 Mon Sep 17 00:00:00 2001
From: Michael Thomas <michaelhthomas@outlook.com>
Date: Fri, 2 Aug 2024 09:46:50 -0400
Subject: [PATCH 06/21] fix(dev): add necessary deps for rust on darwin

---
 user/modules/dev.nix | 61 +++++++++++++++++++++++++++-----------------
 1 file changed, 37 insertions(+), 24 deletions(-)

diff --git a/user/modules/dev.nix b/user/modules/dev.nix
index e5abd0b..9eb3efb 100644
--- a/user/modules/dev.nix
+++ b/user/modules/dev.nix
@@ -1,27 +1,40 @@
-{pkgs, ...}: {
-  home.packages = with pkgs; [
-    # devenv
-    unstable.devenv
-    # Javascript
-    nodejs
-    nodePackages.yarn
-    unstable.nodePackages.pnpm
-    deno
-    unstable.bun
-    # PHP
-    php
-    # Python
-    python3
-    # Nix
-    nil
-    alejandra
-    # Rust
-    (rust-bin.stable.latest.default.override {
-      extensions = ["rust-src" "llvm-tools-preview"];
-    })
-    pkg-config
-    openssl
-  ];
+{
+  pkgs,
+  lib,
+  ...
+}: {
+  home.packages = with pkgs;
+    [
+      # devenv
+      unstable.devenv
+      # Javascript
+      nodejs
+      nodePackages.yarn
+      unstable.nodePackages.pnpm
+      deno
+      unstable.bun
+      # PHP
+      php
+      # Python
+      python3
+      # Nix
+      nil
+      alejandra
+      # Rust
+      (rust-bin.stable.latest.default.override {
+        extensions = ["rust-src" "llvm-tools-preview"];
+      })
+      pkg-config
+      openssl
+    ]
+    ++ lib.optionals pkgs.stdenv.isDarwin (with pkgs.darwin.apple_sdk.frameworks; [
+      CoreFoundation
+      CoreServices
+      SystemConfiguration
+    ]);
+
+  # Required for the `openssl-sys` crate to build properly
+  home.sessionVariables.PKG_CONFIG_PATH = "${pkgs.openssl.dev}/lib/pkgconfig";
 
   programs.zsh.initExtra = ''
     export PATH=~/.npm-packages/bin:$PATH

From e7c5986b794aa0a6a12bd9a6f46d949c3d13b9db Mon Sep 17 00:00:00 2001
From: Michael Thomas <michaelhthomas@outlook.com>
Date: Tue, 30 Jul 2024 13:39:06 -0400
Subject: [PATCH 07/21] feat(nvim): upgrade to nvim v10 and nixvim unstable

---
 flake.nix                                     |  4 +-
 .../languages/treesitter/treesitter.nix       |  5 ++-
 pkgs/nvim/config/none-ls/none-ls.nix          | 37 +++++++++----------
 pkgs/nvim/config/utils/flash.nix              | 26 +++++++------
 pkgs/nvim/default.nix                         |  7 ++--
 5 files changed, 41 insertions(+), 38 deletions(-)

diff --git a/flake.nix b/flake.nix
index c5e4934..8351884 100644
--- a/flake.nix
+++ b/flake.nix
@@ -22,8 +22,8 @@
     flake-parts.url = "github:hercules-ci/flake-parts";
     treefmt-nix.url = "github:numtide/treefmt-nix";
     nixvim = {
-      url = "github:nix-community/nixvim/nixos-24.05";
-      inputs.nixpkgs.follows = "nixpkgs";
+      url = "github:nix-community/nixvim";
+      inputs.nixpkgs.follows = "unstable";
     };
     rust-overlay.url = "github:oxalica/rust-overlay";
     nix-vscode-extensions.url = "github:nix-community/nix-vscode-extensions";
diff --git a/pkgs/nvim/config/languages/treesitter/treesitter.nix b/pkgs/nvim/config/languages/treesitter/treesitter.nix
index 8ff420f..d35a9c7 100644
--- a/pkgs/nvim/config/languages/treesitter/treesitter.nix
+++ b/pkgs/nvim/config/languages/treesitter/treesitter.nix
@@ -1,8 +1,11 @@
 {
   plugins.treesitter = {
     enable = true;
-    indent = true;
     folding = true;
     nixvimInjections = true;
+    settings = {
+      highlight.enable = true;
+      indent.enable = true;
+    };
   };
 }
diff --git a/pkgs/nvim/config/none-ls/none-ls.nix b/pkgs/nvim/config/none-ls/none-ls.nix
index 5eaaf6d..9e3d8f9 100644
--- a/pkgs/nvim/config/none-ls/none-ls.nix
+++ b/pkgs/nvim/config/none-ls/none-ls.nix
@@ -2,21 +2,23 @@
   plugins.none-ls = {
     enable = false;
     enableLspFormat = false;
-    updateInInsert = false;
-    onAttach = ''
-      function(client, bufnr)
-          if client.supports_method "textDocument/formatting" then
-            vim.api.nvim_clear_autocmds { group = augroup, buffer = bufnr }
-            vim.api.nvim_create_autocmd("BufWritePre", {
-              group = augroup,
-              buffer = bufnr,
-              callback = function()
-                vim.lsp.buf.format { bufnr = bufnr }
-              end,
-            })
+    settings = {
+      update_in_insert = false;
+      on_attach = ''
+        function(client, bufnr)
+            if client.supports_method "textDocument/formatting" then
+              vim.api.nvim_clear_autocmds { group = augroup, buffer = bufnr }
+              vim.api.nvim_create_autocmd("BufWritePre", {
+                group = augroup,
+                buffer = bufnr,
+                callback = function()
+                  vim.lsp.buf.format { bufnr = bufnr }
+                end,
+              })
+            end
           end
-        end
-    '';
+      '';
+    };
     sources = {
       code_actions = {
         gitsigns.enable = true;
@@ -36,11 +38,6 @@
         };
         prettier = {
           enable = true;
-          withArgs = ''
-            {
-              extra_args = { "--no-semi", "--single-quote" },
-            }
-          '';
         };
         google_java_format = {
           enable = true;
@@ -50,7 +47,7 @@
         };
         black = {
           enable = true;
-          withArgs = ''
+          settings = ''
             {
               extra_args = { "--fast" },
             }
diff --git a/pkgs/nvim/config/utils/flash.nix b/pkgs/nvim/config/utils/flash.nix
index b531743..b53f057 100644
--- a/pkgs/nvim/config/utils/flash.nix
+++ b/pkgs/nvim/config/utils/flash.nix
@@ -1,18 +1,20 @@
 {
   plugins.flash = {
     enable = false;
-    labels = "asdfghjklqwertyuiopzxcvbnm";
-    search = {
-      mode = "fuzzy";
-    };
-    jump = {
-      autojump = true;
-    };
-    label = {
-      uppercase = false;
-      rainbow = {
-        enabled = false;
-        shade = 5;
+    settings = {
+      labels = "asdfghjklqwertyuiopzxcvbnm";
+      search = {
+        mode = "fuzzy";
+      };
+      jump = {
+        autojump = true;
+      };
+      label = {
+        uppercase = false;
+        rainbow = {
+          enabled = false;
+          shade = 5;
+        };
       };
     };
   };
diff --git a/pkgs/nvim/default.nix b/pkgs/nvim/default.nix
index 079b173..f5852fd 100644
--- a/pkgs/nvim/default.nix
+++ b/pkgs/nvim/default.nix
@@ -3,12 +3,13 @@
   inputs,
   ...
 }: let
-  system = pkgs.system;
+  inherit (pkgs) system;
   nixvim = inputs.nixvim.legacyPackages.${system};
   icons = import ./config/icons.nix;
   nixvimModule = {
-    inherit pkgs;
+    pkgs = inputs.unstable.legacyPackages.${system};
     module = import ./config;
     extraSpecialArgs = {inherit icons;};
   };
-in (nixvim.makeNixvimWithModule nixvimModule)
+in
+  nixvim.makeNixvimWithModule nixvimModule

From a051d107da7a2a889479316d0205150af79de61f Mon Sep 17 00:00:00 2001
From: Michael Thomas <michaelhthomas@outlook.com>
Date: Tue, 30 Jul 2024 13:41:14 -0400
Subject: [PATCH 08/21] feat(nvim/lualine): add command and mode

---
 pkgs/nvim/config/helpers.lua            | 26 +++++++++++++++++++++++++
 pkgs/nvim/config/sets.nix               |  9 ++++++++-
 pkgs/nvim/config/statusline/lualine.nix | 25 ++++++++++++++++++++++--
 3 files changed, 57 insertions(+), 3 deletions(-)
 create mode 100644 pkgs/nvim/config/helpers.lua

diff --git a/pkgs/nvim/config/helpers.lua b/pkgs/nvim/config/helpers.lua
new file mode 100644
index 0000000..39141ca
--- /dev/null
+++ b/pkgs/nvim/config/helpers.lua
@@ -0,0 +1,26 @@
+if MVim then return end -- avoid loading twice the same module
+MVim = {}
+
+---@return {fg?:string}?
+function MVim.fg(name)
+  local color = MVim.color(name)
+  return color and { fg = color } or nil
+end
+
+---@param name string
+---@param bg? boolean
+---@return string?
+function MVim.color(name, bg)
+  ---@type {fg?:number, bg?:number}?
+  local hl = vim.api.nvim_get_hl(0, { name = name, link = false })
+  ---@type number?
+  local color = nil
+  if hl then
+    if bg then
+      color = hl.bg
+    else
+      color = hl.fg
+    end
+  end
+  return color and string.format("#%06x", color) or nil
+end
diff --git a/pkgs/nvim/config/sets.nix b/pkgs/nvim/config/sets.nix
index 219298e..096b8a7 100644
--- a/pkgs/nvim/config/sets.nix
+++ b/pkgs/nvim/config/sets.nix
@@ -117,7 +117,6 @@
 
       # We don't need to see things like INSERT anymore
       showmode = false;
-      showcmd = false;
 
       # Maximum number of items to show in the popup menu (0 means "use available screen space")
       pumheight = 0;
@@ -128,6 +127,14 @@
       laststatus = 3; # (https://neovim.io/doc/user/options.html#'laststatus')
     };
 
+    extraFiles = {
+      "lua/helpers.lua".source = ./helpers.lua;
+    };
+
+    extraConfigLuaPre = ''
+      require "helpers"
+    '';
+
     extraConfigLua = ''
       local opt = vim.opt
       local g = vim.g
diff --git a/pkgs/nvim/config/statusline/lualine.nix b/pkgs/nvim/config/statusline/lualine.nix
index 6cb1293..6a6d434 100644
--- a/pkgs/nvim/config/statusline/lualine.nix
+++ b/pkgs/nvim/config/statusline/lualine.nix
@@ -17,7 +17,11 @@
       left = ""; # 
       right = ""; # 
     };
-    sections = {
+    sections = let
+      mkColor = color: {
+        __raw = ''function() return MVim.fg("${color}") end'';
+      };
+    in {
       lualine_a = ["mode"];
       lualine_b = ["branch"];
       lualine_c = [
@@ -45,7 +49,24 @@
         "filename"
       ];
 
-      lualine_x = [];
+      lualine_x = [
+        # Command
+        {
+          name.__raw = ''function() return require("noice").api.status.command.get() end'';
+          color = mkColor "Statement";
+          extraConfig = {
+            cond.__raw = ''function() return package.loaded["noice"] and require("noice").api.status.command.has() end'';
+          };
+        }
+        # Mode
+        {
+          name.__raw = ''function() return require("noice").api.status.mode.get() end'';
+          color = mkColor "Constant";
+          extraConfig = {
+            cond.__raw = ''function() return package.loaded["noice"] and require("noice").api.status.mode.has() end'';
+          };
+        }
+      ];
       lualine_y = [
         {
           name = "progress";

From 2eb6fd6341938cb5f04c6a9550e193e2718ce798 Mon Sep 17 00:00:00 2001
From: Michael Thomas <michaelhthomas@outlook.com>
Date: Tue, 30 Jul 2024 13:41:39 -0400
Subject: [PATCH 09/21] fix(nvim/lazygit): add lazygit to extraPackages

---
 pkgs/nvim/config/git/lazygit.nix | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/pkgs/nvim/config/git/lazygit.nix b/pkgs/nvim/config/git/lazygit.nix
index 4ad017a..85da883 100644
--- a/pkgs/nvim/config/git/lazygit.nix
+++ b/pkgs/nvim/config/git/lazygit.nix
@@ -3,6 +3,8 @@
     lazygit-nvim
   ];
 
+  extraPackages = with pkgs; [lazygit];
+
   extraConfigLua = ''
     require("telescope").load_extension("lazygit")
   '';

From 722f98834a83facb977754f609c0cee7c0e32dc2 Mon Sep 17 00:00:00 2001
From: Michael Thomas <michaelhthomas@outlook.com>
Date: Tue, 30 Jul 2024 13:42:07 -0400
Subject: [PATCH 10/21] fix(nvim): add some additional keybindings

---
 pkgs/nvim/config/keymaps.nix | 30 ++++++++++++++++++++++++++++--
 1 file changed, 28 insertions(+), 2 deletions(-)

diff --git a/pkgs/nvim/config/keymaps.nix b/pkgs/nvim/config/keymaps.nix
index 4b02c77..779aa66 100644
--- a/pkgs/nvim/config/keymaps.nix
+++ b/pkgs/nvim/config/keymaps.nix
@@ -1,8 +1,6 @@
-# Thanks for the keybinds primeagen and folke!
 {
   globals.mapleader = " ";
 
-  # TODO: Move general mappings to which-key
   keymaps = [
     # better up/down
     {
@@ -46,6 +44,33 @@
       };
     }
 
+    # Clear search with <esc>
+    {
+      mode = ["i" "n"];
+      key = "<esc>";
+      action = "<cmd>noh<cr><esc>";
+      options = {
+        desc = "Escape and Clear hlsearch";
+      };
+    }
+
+    # Add undo break-points
+    {
+      mode = "i";
+      key = ",";
+      action = ",<c-g>u";
+    }
+    {
+      mode = "i";
+      key = ".";
+      action = ".<c-g>u";
+    }
+    {
+      mode = "i";
+      key = ";";
+      action = ";<c-g>u";
+    }
+
     # Move to window using the <ctrl> hjkl keys
     {
       mode = "n";
@@ -404,6 +429,7 @@
       };
     }
 
+    # better indenting
     {
       mode = "v";
       key = "<";

From 739b1ae6c590ccd1bfa57b0ff5c915cebcef7690 Mon Sep 17 00:00:00 2001
From: Michael Thomas <michaelhthomas@outlook.com>
Date: Mon, 5 Aug 2024 16:40:37 -0400
Subject: [PATCH 11/21] refactor(hyprland): move from wofi to fuzzel

---
 nixos/hyprland/home.nix |  5 +++--
 nixos/wofi/home.nix     | 18 ------------------
 2 files changed, 3 insertions(+), 20 deletions(-)
 delete mode 100644 nixos/wofi/home.nix

diff --git a/nixos/hyprland/home.nix b/nixos/hyprland/home.nix
index d8620d5..36fa946 100644
--- a/nixos/hyprland/home.nix
+++ b/nixos/hyprland/home.nix
@@ -18,7 +18,8 @@ in {
 
   config = mkIf cfg.enable {
     my.ags.enable = true;
-    my.wofi.enable = true;
+
+    programs.fuzzel.enable = true;
 
     home.packages = with pkgs; [
       pavucontrol
@@ -55,7 +56,7 @@ in {
         bind =
           [
             # Program launcher
-            "$mod, SPACE, exec, wofi --show drun"
+            "$mod, SPACE, exec, fuzzel"
             # Program shortcuts
             "$mod, F, exec, firefox"
             "$mod, Q, killactive"
diff --git a/nixos/wofi/home.nix b/nixos/wofi/home.nix
deleted file mode 100644
index 17f0709..0000000
--- a/nixos/wofi/home.nix
+++ /dev/null
@@ -1,18 +0,0 @@
-{
-  lib,
-  config,
-  ...
-}: let
-  inherit (lib) mkEnableOption mkIf;
-  cfg = config.my.wofi;
-in {
-  options.my.wofi = {
-    enable = mkEnableOption "wofi";
-  };
-
-  config = mkIf cfg.enable {
-    programs.wofi = {
-      enable = true;
-    };
-  };
-}

From 10a5f8e1361289e1f7a777dbd980878a2b2e1e26 Mon Sep 17 00:00:00 2001
From: Michael Thomas <michaelhthomas@outlook.com>
Date: Mon, 5 Aug 2024 16:45:47 -0400
Subject: [PATCH 12/21] fix(hyprland): add mouse bindings for move and resize

---
 nixos/hyprland/home.nix | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/nixos/hyprland/home.nix b/nixos/hyprland/home.nix
index 36fa946..811bb49 100644
--- a/nixos/hyprland/home.nix
+++ b/nixos/hyprland/home.nix
@@ -113,6 +113,10 @@ in {
 
         # will reset the submap, meaning end the current one and return to the global one
         submap=reset
+
+        # mouse bindings
+        bindm=ALT,mouse:272,movewindow
+        bindm=ALT,mouse:273,resizewindow
       '';
     };
 

From 8496a112ba5e89c2ea7ca373cb83dd8a34d20479 Mon Sep 17 00:00:00 2001
From: Michael Thomas <michaelhthomas@outlook.com>
Date: Mon, 5 Aug 2024 16:48:59 -0400
Subject: [PATCH 13/21] fix(hyprland): use hyprland from nixpkgs, fixing mesa
 issues

---
 flake.lock                 | 320 ++++++++-----------------------------
 flake.nix                  |   1 -
 nixos/hyprland/default.nix |   8 -
 nixos/hyprland/home.nix    |   6 -
 4 files changed, 69 insertions(+), 266 deletions(-)

diff --git a/flake.lock b/flake.lock
index 6aedead..17ac981 100644
--- a/flake.lock
+++ b/flake.lock
@@ -136,22 +136,6 @@
         "url": "https://flakehub.com/f/edolstra/flake-compat/1.tar.gz"
       }
     },
-    "flake-compat_3": {
-      "flake": false,
-      "locked": {
-        "lastModified": 1696426674,
-        "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
-        "owner": "edolstra",
-        "repo": "flake-compat",
-        "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
-        "type": "github"
-      },
-      "original": {
-        "owner": "edolstra",
-        "repo": "flake-compat",
-        "type": "github"
-      }
-    },
     "flake-parts": {
       "inputs": {
         "nixpkgs-lib": "nixpkgs-lib"
@@ -193,7 +177,7 @@
     },
     "flake-utils": {
       "inputs": {
-        "systems": "systems_3"
+        "systems": "systems_2"
       },
       "locked": {
         "lastModified": 1710146030,
@@ -211,7 +195,7 @@
     },
     "flake-utils_2": {
       "inputs": {
-        "systems": "systems_4"
+        "systems": "systems_3"
       },
       "locked": {
         "lastModified": 1701680307,
@@ -227,9 +211,30 @@
         "type": "github"
       }
     },
+    "flake-utils_3": {
+      "inputs": {
+        "systems": "systems_4"
+      },
+      "locked": {
+        "lastModified": 1710146030,
+        "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=",
+        "owner": "numtide",
+        "repo": "flake-utils",
+        "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a",
+        "type": "github"
+      },
+      "original": {
+        "owner": "numtide",
+        "repo": "flake-utils",
+        "type": "github"
+      }
+    },
     "git-hooks": {
       "inputs": {
-        "flake-compat": "flake-compat_3",
+        "flake-compat": [
+          "nixvim",
+          "flake-compat"
+        ],
         "gitignore": "gitignore",
         "nixpkgs": [
           "nixvim",
@@ -326,188 +331,26 @@
         ]
       },
       "locked": {
-        "lastModified": 1718530513,
-        "narHash": "sha256-BmO8d0r+BVlwWtMLQEYnwmngqdXIuyFzMwvmTcLMee8=",
+        "lastModified": 1722630065,
+        "narHash": "sha256-QfM/9BMRkCmgWzrPDK+KbgJOUlSJnfX4OvsUupEUZvA=",
         "owner": "nix-community",
         "repo": "home-manager",
-        "rev": "a1fddf0967c33754271761d91a3d921772b30d0e",
+        "rev": "afc892db74d65042031a093adb6010c4c3378422",
         "type": "github"
       },
       "original": {
         "owner": "nix-community",
-        "ref": "release-24.05",
         "repo": "home-manager",
         "type": "github"
       }
     },
-    "hyprcursor": {
-      "inputs": {
-        "hyprlang": [
-          "hyprland",
-          "hyprlang"
-        ],
-        "nixpkgs": [
-          "hyprland",
-          "nixpkgs"
-        ],
-        "systems": [
-          "hyprland",
-          "systems"
-        ]
-      },
-      "locked": {
-        "lastModified": 1718450675,
-        "narHash": "sha256-jpsns6buS4bK+1sF8sL8AaixAiCRjA+nldTKvcwmvUs=",
-        "owner": "hyprwm",
-        "repo": "hyprcursor",
-        "rev": "66d5b46ff94efbfa6fa3d1d1b66735f1779c34a6",
-        "type": "github"
-      },
-      "original": {
-        "owner": "hyprwm",
-        "repo": "hyprcursor",
-        "type": "github"
-      }
-    },
-    "hyprland": {
-      "inputs": {
-        "hyprcursor": "hyprcursor",
-        "hyprlang": "hyprlang",
-        "hyprutils": "hyprutils",
-        "hyprwayland-scanner": "hyprwayland-scanner",
-        "nixpkgs": "nixpkgs_2",
-        "systems": "systems_2",
-        "xdph": "xdph"
-      },
-      "locked": {
-        "lastModified": 1719493676,
-        "narHash": "sha256-EClgfHBU8jLOQxRrkmEgkHHL22nrvNkPjhABtsOEscE=",
-        "ref": "refs/heads/main",
-        "rev": "f2dc48d92f340efe6d4264b92d38378c18a3e1ea",
-        "revCount": 4892,
-        "submodules": true,
-        "type": "git",
-        "url": "https://github.com/hyprwm/Hyprland"
-      },
-      "original": {
-        "submodules": true,
-        "type": "git",
-        "url": "https://github.com/hyprwm/Hyprland"
-      }
-    },
-    "hyprland-protocols": {
-      "inputs": {
-        "nixpkgs": [
-          "hyprland",
-          "xdph",
-          "nixpkgs"
-        ],
-        "systems": [
-          "hyprland",
-          "xdph",
-          "systems"
-        ]
-      },
-      "locked": {
-        "lastModified": 1714869498,
-        "narHash": "sha256-vbLVOWvQqo4n1yvkg/Q70VTlPbMmTiCQfNTgcWDCfJM=",
-        "owner": "hyprwm",
-        "repo": "hyprland-protocols",
-        "rev": "e06482e0e611130cd1929f75e8c1cf679e57d161",
-        "type": "github"
-      },
-      "original": {
-        "owner": "hyprwm",
-        "repo": "hyprland-protocols",
-        "type": "github"
-      }
-    },
-    "hyprlang": {
-      "inputs": {
-        "hyprutils": [
-          "hyprland",
-          "hyprutils"
-        ],
-        "nixpkgs": [
-          "hyprland",
-          "nixpkgs"
-        ],
-        "systems": [
-          "hyprland",
-          "systems"
-        ]
-      },
-      "locked": {
-        "lastModified": 1717881852,
-        "narHash": "sha256-XeeVoKHQgfKuXoP6q90sUqKyl7EYy3ol2dVZGM+Jj94=",
-        "owner": "hyprwm",
-        "repo": "hyprlang",
-        "rev": "ec6938c66253429192274d612912649a0cfe4d28",
-        "type": "github"
-      },
-      "original": {
-        "owner": "hyprwm",
-        "repo": "hyprlang",
-        "type": "github"
-      }
-    },
-    "hyprutils": {
-      "inputs": {
-        "nixpkgs": [
-          "hyprland",
-          "nixpkgs"
-        ],
-        "systems": [
-          "hyprland",
-          "systems"
-        ]
-      },
-      "locked": {
-        "lastModified": 1719316102,
-        "narHash": "sha256-dmRz128j/lJmMuTYeCYPfSBRHHQO3VeH4PbmoyAhHzw=",
-        "owner": "hyprwm",
-        "repo": "hyprutils",
-        "rev": "1f6bbec5954f623ff8d68e567bddcce97cd2f085",
-        "type": "github"
-      },
-      "original": {
-        "owner": "hyprwm",
-        "repo": "hyprutils",
-        "type": "github"
-      }
-    },
-    "hyprwayland-scanner": {
-      "inputs": {
-        "nixpkgs": [
-          "hyprland",
-          "nixpkgs"
-        ],
-        "systems": [
-          "hyprland",
-          "systems"
-        ]
-      },
-      "locked": {
-        "lastModified": 1719067853,
-        "narHash": "sha256-mAnZG/eQy72Fp1ImGtqCgUrDumnR1rMZv2E/zgP4U74=",
-        "owner": "hyprwm",
-        "repo": "hyprwayland-scanner",
-        "rev": "914f083741e694092ee60a39d31f693d0a6dc734",
-        "type": "github"
-      },
-      "original": {
-        "owner": "hyprwm",
-        "repo": "hyprwayland-scanner",
-        "type": "github"
-      }
-    },
     "master": {
       "locked": {
-        "lastModified": 1722605938,
-        "narHash": "sha256-jEpnC5ChZozKqSQ0PCpd1f+nN7A/7d45MV0I/20gcS8=",
+        "lastModified": 1722890783,
+        "narHash": "sha256-02zjysBzuk74mA6uyueC7QnYSHSb8p5G2OJeVXcFz9c=",
         "owner": "NixOS",
         "repo": "nixpkgs",
-        "rev": "8f3018de97f0b078911e217be698a67c83557b5a",
+        "rev": "51667289564f065c3e4a56474d15aa0979449ef5",
         "type": "github"
       },
       "original": {
@@ -541,7 +384,7 @@
       "inputs": {
         "flake-compat": "flake-compat",
         "flake-utils": "flake-utils",
-        "nixpkgs": "nixpkgs_3"
+        "nixpkgs": "nixpkgs_2"
       },
       "locked": {
         "lastModified": 1719451583,
@@ -586,22 +429,6 @@
       }
     },
     "nixpkgs_2": {
-      "locked": {
-        "lastModified": 1719075281,
-        "narHash": "sha256-CyyxvOwFf12I91PBWz43iGT1kjsf5oi6ax7CrvaMyAo=",
-        "owner": "NixOS",
-        "repo": "nixpkgs",
-        "rev": "a71e967ef3694799d0c418c98332f7ff4cc5f6af",
-        "type": "github"
-      },
-      "original": {
-        "owner": "NixOS",
-        "ref": "nixos-unstable",
-        "repo": "nixpkgs",
-        "type": "github"
-      }
-    },
-    "nixpkgs_3": {
       "locked": {
         "lastModified": 1713805509,
         "narHash": "sha256-YgSEan4CcrjivCNO5ZNzhg7/8ViLkZ4CB/GrGBVSudo=",
@@ -617,7 +444,7 @@
         "type": "github"
       }
     },
-    "nixpkgs_4": {
+    "nixpkgs_3": {
       "locked": {
         "lastModified": 1719426051,
         "narHash": "sha256-yJL9VYQhaRM7xs0M867ZFxwaONB9T2Q4LnGo1WovuR4=",
@@ -632,7 +459,7 @@
         "type": "indirect"
       }
     },
-    "nixpkgs_5": {
+    "nixpkgs_4": {
       "locked": {
         "lastModified": 1718428119,
         "narHash": "sha256-WdWDpNaq6u1IPtxtYHHWpl5BmabtpmLnMAx0RdJ/vo8=",
@@ -648,7 +475,7 @@
         "type": "github"
       }
     },
-    "nixpkgs_6": {
+    "nixpkgs_5": {
       "locked": {
         "lastModified": 1719690277,
         "narHash": "sha256-0xSej1g7eP2kaUF+JQp8jdyNmpmCJKRpO12mKl/36Kc=",
@@ -673,21 +500,21 @@
         "home-manager": "home-manager_3",
         "nix-darwin": "nix-darwin",
         "nixpkgs": [
-          "nixpkgs"
+          "unstable"
         ],
+        "nuschtosSearch": "nuschtosSearch",
         "treefmt-nix": "treefmt-nix"
       },
       "locked": {
-        "lastModified": 1719469291,
-        "narHash": "sha256-Efir01r7ThPabDBFOygX1UDyerJFHelbRGdMo/VNw14=",
+        "lastModified": 1722857280,
+        "narHash": "sha256-b5Bal3cElLrS9UtDN81ljQpOsbqBe/7CdWlTKhlswus=",
         "owner": "nix-community",
         "repo": "nixvim",
-        "rev": "8f52e4d1e34039937efb0ee05825b9963ef29739",
+        "rev": "5922a48008e5759acb63a12b2de8348ec512760f",
         "type": "github"
       },
       "original": {
         "owner": "nix-community",
-        "ref": "nixos-24.05",
         "repo": "nixvim",
         "type": "github"
       }
@@ -707,6 +534,28 @@
         "type": "github"
       }
     },
+    "nuschtosSearch": {
+      "inputs": {
+        "flake-utils": "flake-utils_3",
+        "nixpkgs": [
+          "nixvim",
+          "nixpkgs"
+        ]
+      },
+      "locked": {
+        "lastModified": 1722772237,
+        "narHash": "sha256-3eCYmzeLngX8eutIsTZAG8DIvT/0DWQQxiszTQz8n0s=",
+        "owner": "NuschtOS",
+        "repo": "search",
+        "rev": "aa5f6246565cc9b1e697d2c9d6ed2c842b17fff6",
+        "type": "github"
+      },
+      "original": {
+        "owner": "NuschtOS",
+        "repo": "search",
+        "type": "github"
+      }
+    },
     "root": {
       "inputs": {
         "agenix": "agenix",
@@ -714,10 +563,9 @@
         "darwin": "darwin_2",
         "flake-parts": "flake-parts",
         "home-manager": "home-manager_2",
-        "hyprland": "hyprland",
         "master": "master",
         "nix-vscode-extensions": "nix-vscode-extensions",
-        "nixpkgs": "nixpkgs_4",
+        "nixpkgs": "nixpkgs_3",
         "nixvim": "nixvim",
         "nur": "nur",
         "rust-overlay": "rust-overlay",
@@ -728,7 +576,7 @@
     },
     "rust-overlay": {
       "inputs": {
-        "nixpkgs": "nixpkgs_5"
+        "nixpkgs": "nixpkgs_4"
       },
       "locked": {
         "lastModified": 1719454714,
@@ -761,16 +609,16 @@
     },
     "systems_2": {
       "locked": {
-        "lastModified": 1689347949,
-        "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
+        "lastModified": 1681028828,
+        "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
         "owner": "nix-systems",
-        "repo": "default-linux",
-        "rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68",
+        "repo": "default",
+        "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
         "type": "github"
       },
       "original": {
         "owner": "nix-systems",
-        "repo": "default-linux",
+        "repo": "default",
         "type": "github"
       }
     },
@@ -842,7 +690,7 @@
     },
     "treefmt-nix_2": {
       "inputs": {
-        "nixpkgs": "nixpkgs_6"
+        "nixpkgs": "nixpkgs_5"
       },
       "locked": {
         "lastModified": 1719887753,
@@ -890,36 +738,6 @@
         "repo": "flake-utils",
         "type": "github"
       }
-    },
-    "xdph": {
-      "inputs": {
-        "hyprland-protocols": "hyprland-protocols",
-        "hyprlang": [
-          "hyprland",
-          "hyprlang"
-        ],
-        "nixpkgs": [
-          "hyprland",
-          "nixpkgs"
-        ],
-        "systems": [
-          "hyprland",
-          "systems"
-        ]
-      },
-      "locked": {
-        "lastModified": 1718619174,
-        "narHash": "sha256-FWW68AVYmB91ZDQnhLMBNCUUTCjb1ZpO2k2KIytHtkA=",
-        "owner": "hyprwm",
-        "repo": "xdg-desktop-portal-hyprland",
-        "rev": "c7894aa54f9a7dbd16df5cd24d420c8af22d5623",
-        "type": "github"
-      },
-      "original": {
-        "owner": "hyprwm",
-        "repo": "xdg-desktop-portal-hyprland",
-        "type": "github"
-      }
     }
   },
   "root": "root",
diff --git a/flake.nix b/flake.nix
index 8351884..9e243a2 100644
--- a/flake.nix
+++ b/flake.nix
@@ -27,7 +27,6 @@
     };
     rust-overlay.url = "github:oxalica/rust-overlay";
     nix-vscode-extensions.url = "github:nix-community/nix-vscode-extensions";
-    hyprland.url = "git+https://github.com/hyprwm/Hyprland?submodules=1";
     ags.url = "github:Aylur/ags";
     agenix = {
       url = "github:ryantm/agenix";
diff --git a/nixos/hyprland/default.nix b/nixos/hyprland/default.nix
index 268c4c0..16c4c2a 100644
--- a/nixos/hyprland/default.nix
+++ b/nixos/hyprland/default.nix
@@ -1,12 +1,10 @@
 {
   pkgs,
-  inputs,
   lib,
   config,
   ...
 }: let
   inherit (lib) mkEnableOption mkIf;
-  pkgs-hyprland = inputs.hyprland.inputs.nixpkgs.legacyPackages.${pkgs.stdenv.hostPlatform.system};
   cfg = config.my.hyprland;
 in {
   options.my.hyprland = {
@@ -18,14 +16,8 @@ in {
 
     programs.hyprland = {
       enable = true;
-      package = inputs.hyprland.packages.${pkgs.system}.hyprland;
     };
 
-    hardware.opengl = {
-      package = pkgs-hyprland.mesa.drivers;
-      driSupport32Bit = true;
-      package32 = pkgs-hyprland.pkgsi686Linux.mesa.drivers;
-    };
 
     services.gnome.gnome-keyring.enable = true;
     security.pam.services.greetd.enableGnomeKeyring = true;
diff --git a/nixos/hyprland/home.nix b/nixos/hyprland/home.nix
index 811bb49..316e316 100644
--- a/nixos/hyprland/home.nix
+++ b/nixos/hyprland/home.nix
@@ -1,6 +1,5 @@
 {
   pkgs,
-  inputs,
   lib,
   config,
   ...
@@ -8,10 +7,6 @@
   inherit (lib) mkEnableOption mkIf;
   cfg = config.my.hyprland;
 in {
-  imports = [
-    inputs.hyprland.homeManagerModules.default
-  ];
-
   options.my.hyprland = {
     enable = mkEnableOption "hyprland";
   };
@@ -28,7 +23,6 @@ in {
 
     wayland.windowManager.hyprland = {
       enable = true;
-      package = inputs.hyprland.packages.${pkgs.system}.hyprland;
       settings = let
         # No gaps or border when only one window
         no_gaps_when_only = 1;

From cd971466a2d430f656c29aaf90f72ae13b7b2bca Mon Sep 17 00:00:00 2001
From: Michael Thomas <michaelhthomas@outlook.com>
Date: Mon, 5 Aug 2024 16:49:21 -0400
Subject: [PATCH 14/21] fix(hyprland): make electron apps use wayland for
 proper fractional scaling

---
 nixos/hyprland/default.nix | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/nixos/hyprland/default.nix b/nixos/hyprland/default.nix
index 16c4c2a..9b7e2c2 100644
--- a/nixos/hyprland/default.nix
+++ b/nixos/hyprland/default.nix
@@ -18,6 +18,8 @@ in {
       enable = true;
     };
 
+    # Hint electron apps to use wayland
+    environment.sessionVariables.NIXOS_OZONE_WL = "1";
 
     services.gnome.gnome-keyring.enable = true;
     security.pam.services.greetd.enableGnomeKeyring = true;

From da87dc63806debd9ba7d4c6104090cafc5932287 Mon Sep 17 00:00:00 2001
From: Michael Thomas <michaelhthomas@outlook.com>
Date: Mon, 5 Aug 2024 16:52:00 -0400
Subject: [PATCH 15/21] feat(machines/terra): configuration updates

---
 machines/terra/configuration.nix          | 10 +++++++++-
 machines/terra/hardware-configuration.nix |  2 +-
 2 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/machines/terra/configuration.nix b/machines/terra/configuration.nix
index 6b4a2ed..ccbfe75 100644
--- a/machines/terra/configuration.nix
+++ b/machines/terra/configuration.nix
@@ -71,10 +71,18 @@
 
   environment.systemPackages = with pkgs; [
     obs-studio
+    kdenlive
+
     virt-manager
+    virtiofsd
+
     # GTK Discord Client
     unstable.dissent
-    kdenlive
+
+    prismlauncher
+    lutris
+
+    android-studio
   ];
 
   # This value determines the NixOS release from which the default
diff --git a/machines/terra/hardware-configuration.nix b/machines/terra/hardware-configuration.nix
index 9563486..a2bf321 100644
--- a/machines/terra/hardware-configuration.nix
+++ b/machines/terra/hardware-configuration.nix
@@ -20,7 +20,7 @@
 
   hardware.opengl.driSupport = true;
   hardware.opengl.driSupport32Bit = true;
-  services.xserver.videoDrivers = ["nvidia"];
+  services.xserver.videoDrivers = ["amdgpu"];
 
   fileSystems."/" = {
     device = "/dev/disk/by-uuid/fa11ad2d-97d9-4e87-8fe9-f2cae0d9894e";

From 01ed5d60933b2cfd83a69de1d6f4f99d6cf91f59 Mon Sep 17 00:00:00 2001
From: Michael Thomas <michaelhthomas@outlook.com>
Date: Mon, 5 Aug 2024 16:53:19 -0400
Subject: [PATCH 16/21] feat(environments/nixos): replace lazyvim with nixvim

---
 user/environments/nixos/home.nix | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/user/environments/nixos/home.nix b/user/environments/nixos/home.nix
index a70fec6..f3250d6 100644
--- a/user/environments/nixos/home.nix
+++ b/user/environments/nixos/home.nix
@@ -1,4 +1,4 @@
-{
+{pkgs, ...}: {
   imports = [
     ../../modules/dev.nix
     ../../modules/firefox.nix
@@ -6,12 +6,13 @@
     ../../modules/foot.nix
     ../../modules/git.nix
     ../../modules/git_nixos.nix
-    ../../modules/nvim.nix
     ../../modules/vscode.nix
     ../../modules/zellij
     ../../modules/zsh.nix
   ];
 
+  home.packages = with pkgs; [nvim-custom];
+
   # Let Home Manager install and manage itself.
   programs.home-manager.enable = true;
 

From d2ebcb83deb71b6a8f55224b069faf103128302c Mon Sep 17 00:00:00 2001
From: Michael Thomas <michaelhthomas@outlook.com>
Date: Mon, 5 Aug 2024 17:19:32 -0400
Subject: [PATCH 17/21] chore: update lockfile

---
 flake.lock              | 158 ++++++++++++++++++----------------------
 user/modules/vscode.nix |   2 +-
 2 files changed, 71 insertions(+), 89 deletions(-)

diff --git a/flake.lock b/flake.lock
index 17ac981..2b17533 100644
--- a/flake.lock
+++ b/flake.lock
@@ -10,11 +10,11 @@
         "systems": "systems"
       },
       "locked": {
-        "lastModified": 1718371084,
-        "narHash": "sha256-abpBi61mg0g+lFFU0zY4C6oP6fBwPzbHPKBGw676xsA=",
+        "lastModified": 1722339003,
+        "narHash": "sha256-ZeS51uJI30ehNkcZ4uKqT4ZDARPyqrHADSKAwv5vVCU=",
         "owner": "ryantm",
         "repo": "agenix",
-        "rev": "3a56735779db467538fb2e577eda28a9daacaca6",
+        "rev": "3f1dae074a12feb7327b4bf43cbac0d124488bb7",
         "type": "github"
       },
       "original": {
@@ -25,14 +25,15 @@
     },
     "ags": {
       "inputs": {
-        "nixpkgs": "nixpkgs"
+        "nixpkgs": "nixpkgs",
+        "systems": "systems_2"
       },
       "locked": {
-        "lastModified": 1718921313,
-        "narHash": "sha256-TFJah1RW5qnYW7kajjAFPAS5j/0q0R3vz9zPjrRA0Mc=",
+        "lastModified": 1721306136,
+        "narHash": "sha256-VKPsIGf3/a+RONBipx4lEE4LXG2sdMNkWQu22LNQItg=",
         "owner": "Aylur",
         "repo": "ags",
-        "rev": "646d5ad073ff7f8b1d50cfbd40f5b8a250fcd59d",
+        "rev": "344ea72cd3b8d4911f362fec34bce7d8fb37028c",
         "type": "github"
       },
       "original": {
@@ -70,11 +71,11 @@
         ]
       },
       "locked": {
-        "lastModified": 1719128254,
-        "narHash": "sha256-I7jMpq0CAOZA/i70+HDQO/ulLttyQu/K70cSESiMX7A=",
+        "lastModified": 1722609272,
+        "narHash": "sha256-Kkb+ULEHVmk07AX+OhwyofFxBDpw+2WvsXguUS2m6e4=",
         "owner": "lnl7",
         "repo": "nix-darwin",
-        "rev": "50581970f37f06a4719001735828519925ef8310",
+        "rev": "f7142b8024d6b70c66fd646e1d099d3aa5bfec49",
         "type": "github"
       },
       "original": {
@@ -86,18 +87,17 @@
     },
     "devshell": {
       "inputs": {
-        "flake-utils": "flake-utils_2",
         "nixpkgs": [
           "nixvim",
           "nixpkgs"
         ]
       },
       "locked": {
-        "lastModified": 1717408969,
-        "narHash": "sha256-Q0OEFqe35fZbbRPPRdrjTUUChKVhhWXz3T9ZSKmaoVY=",
+        "lastModified": 1722113426,
+        "narHash": "sha256-Yo/3loq572A8Su6aY5GP56knpuKYRvM2a1meP9oJZCw=",
         "owner": "numtide",
         "repo": "devshell",
-        "rev": "1ebbe68d57457c8cae98145410b164b5477761f4",
+        "rev": "67cce7359e4cd3c45296fb4aaf6a19e2a9c757ae",
         "type": "github"
       },
       "original": {
@@ -141,11 +141,11 @@
         "nixpkgs-lib": "nixpkgs-lib"
       },
       "locked": {
-        "lastModified": 1719994518,
-        "narHash": "sha256-pQMhCCHyQGRzdfAkdJ4cIWiw+JNuWsTX7f0ZYSyz0VY=",
+        "lastModified": 1722555600,
+        "narHash": "sha256-XOQkdLafnb/p9ij77byFQjDf5m5QYl9b2REiVClC+x4=",
         "owner": "hercules-ci",
         "repo": "flake-parts",
-        "rev": "9227223f6d922fee3c7b190b2cc238a99527bbb7",
+        "rev": "8471fe90ad337a8074e957b69ca4d0089218391d",
         "type": "github"
       },
       "original": {
@@ -162,11 +162,11 @@
         ]
       },
       "locked": {
-        "lastModified": 1717285511,
-        "narHash": "sha256-iKzJcpdXih14qYVcZ9QC9XuZYnPc6T8YImb6dX166kw=",
+        "lastModified": 1722555600,
+        "narHash": "sha256-XOQkdLafnb/p9ij77byFQjDf5m5QYl9b2REiVClC+x4=",
         "owner": "hercules-ci",
         "repo": "flake-parts",
-        "rev": "2a55567fcf15b1b1c7ed712a2c6fadaec7412ea8",
+        "rev": "8471fe90ad337a8074e957b69ca4d0089218391d",
         "type": "github"
       },
       "original": {
@@ -177,7 +177,7 @@
     },
     "flake-utils": {
       "inputs": {
-        "systems": "systems_2"
+        "systems": "systems_3"
       },
       "locked": {
         "lastModified": 1710146030,
@@ -194,24 +194,6 @@
       }
     },
     "flake-utils_2": {
-      "inputs": {
-        "systems": "systems_3"
-      },
-      "locked": {
-        "lastModified": 1701680307,
-        "narHash": "sha256-kAuep2h5ajznlPMD9rnQyffWG8EM/C73lejGofXvdM8=",
-        "owner": "numtide",
-        "repo": "flake-utils",
-        "rev": "4022d587cbbfd70fe950c1e2083a02621806a725",
-        "type": "github"
-      },
-      "original": {
-        "owner": "numtide",
-        "repo": "flake-utils",
-        "type": "github"
-      }
-    },
-    "flake-utils_3": {
       "inputs": {
         "systems": "systems_4"
       },
@@ -246,11 +228,11 @@
         ]
       },
       "locked": {
-        "lastModified": 1719259945,
-        "narHash": "sha256-F1h+XIsGKT9TkGO3omxDLEb/9jOOsI6NnzsXFsZhry4=",
+        "lastModified": 1721042469,
+        "narHash": "sha256-6FPUl7HVtvRHCCBQne7Ylp4p+dpP3P/OYuzjztZ4s70=",
         "owner": "cachix",
         "repo": "git-hooks.nix",
-        "rev": "0ff4381bbb8f7a52ca4a851660fc7a437a4c6e07",
+        "rev": "f451c19376071a90d8c58ab1a953c6e9840527fd",
         "type": "github"
       },
       "original": {
@@ -309,11 +291,11 @@
         ]
       },
       "locked": {
-        "lastModified": 1718530513,
-        "narHash": "sha256-BmO8d0r+BVlwWtMLQEYnwmngqdXIuyFzMwvmTcLMee8=",
+        "lastModified": 1720042825,
+        "narHash": "sha256-A0vrUB6x82/jvf17qPCpxaM+ulJnD8YZwH9Ci0BsAzE=",
         "owner": "rycee",
         "repo": "home-manager",
-        "rev": "a1fddf0967c33754271761d91a3d921772b30d0e",
+        "rev": "e1391fb22e18a36f57e6999c7a9f966dc80ac073",
         "type": "github"
       },
       "original": {
@@ -346,11 +328,11 @@
     },
     "master": {
       "locked": {
-        "lastModified": 1722890783,
-        "narHash": "sha256-02zjysBzuk74mA6uyueC7QnYSHSb8p5G2OJeVXcFz9c=",
+        "lastModified": 1722891568,
+        "narHash": "sha256-tm6Nl2v3zqD8uqWA6b0xCLv85KtAWk8/CgrhRAwOIRA=",
         "owner": "NixOS",
         "repo": "nixpkgs",
-        "rev": "51667289564f065c3e4a56474d15aa0979449ef5",
+        "rev": "feff2a407c08aafeffc6b653f665b891c4751ed2",
         "type": "github"
       },
       "original": {
@@ -367,11 +349,11 @@
         ]
       },
       "locked": {
-        "lastModified": 1719128254,
-        "narHash": "sha256-I7jMpq0CAOZA/i70+HDQO/ulLttyQu/K70cSESiMX7A=",
+        "lastModified": 1722609272,
+        "narHash": "sha256-Kkb+ULEHVmk07AX+OhwyofFxBDpw+2WvsXguUS2m6e4=",
         "owner": "lnl7",
         "repo": "nix-darwin",
-        "rev": "50581970f37f06a4719001735828519925ef8310",
+        "rev": "f7142b8024d6b70c66fd646e1d099d3aa5bfec49",
         "type": "github"
       },
       "original": {
@@ -387,11 +369,11 @@
         "nixpkgs": "nixpkgs_2"
       },
       "locked": {
-        "lastModified": 1719451583,
-        "narHash": "sha256-2FHGp9cH5q42yVdYAfLjMCYJgr+VYfMW4LYmCOptlpg=",
+        "lastModified": 1722821408,
+        "narHash": "sha256-FMCo35ZmMfvAcae+9neKfu6QzXjU3WL6vW2OFMXx6wI=",
         "owner": "nix-community",
         "repo": "nix-vscode-extensions",
-        "rev": "4157bcc67488e09407f5edc130ebf62c1a1a1433",
+        "rev": "f25962fbd632afea744dc7e6868f24d2e73ccedb",
         "type": "github"
       },
       "original": {
@@ -418,14 +400,14 @@
     },
     "nixpkgs-lib": {
       "locked": {
-        "lastModified": 1719876945,
-        "narHash": "sha256-Fm2rDDs86sHy0/1jxTOKB1118Q0O3Uc7EC0iXvXKpbI=",
+        "lastModified": 1722555339,
+        "narHash": "sha256-uFf2QeW7eAHlYXuDktm9c25OxOyCoUOQmh5SZ9amE5Q=",
         "type": "tarball",
-        "url": "https://github.com/NixOS/nixpkgs/archive/5daf0514482af3f97abaefc78a6606365c9108e2.tar.gz"
+        "url": "https://github.com/NixOS/nixpkgs/archive/a5d394176e64ab29c852d03346c1fc9b0b7d33eb.tar.gz"
       },
       "original": {
         "type": "tarball",
-        "url": "https://github.com/NixOS/nixpkgs/archive/5daf0514482af3f97abaefc78a6606365c9108e2.tar.gz"
+        "url": "https://github.com/NixOS/nixpkgs/archive/a5d394176e64ab29c852d03346c1fc9b0b7d33eb.tar.gz"
       }
     },
     "nixpkgs_2": {
@@ -446,11 +428,11 @@
     },
     "nixpkgs_3": {
       "locked": {
-        "lastModified": 1719426051,
-        "narHash": "sha256-yJL9VYQhaRM7xs0M867ZFxwaONB9T2Q4LnGo1WovuR4=",
+        "lastModified": 1722791413,
+        "narHash": "sha256-rCTrlCWvHzMCNcKxPE3Z/mMK2gDZ+BvvpEVyRM4tKmU=",
         "owner": "NixOS",
         "repo": "nixpkgs",
-        "rev": "89c49874fb15f4124bf71ca5f42a04f2ee5825fd",
+        "rev": "8b5b6723aca5a51edf075936439d9cd3947b7b2c",
         "type": "github"
       },
       "original": {
@@ -477,11 +459,11 @@
     },
     "nixpkgs_5": {
       "locked": {
-        "lastModified": 1719690277,
-        "narHash": "sha256-0xSej1g7eP2kaUF+JQp8jdyNmpmCJKRpO12mKl/36Kc=",
+        "lastModified": 1720957393,
+        "narHash": "sha256-oedh2RwpjEa+TNxhg5Je9Ch6d3W1NKi7DbRO1ziHemA=",
         "owner": "nixos",
         "repo": "nixpkgs",
-        "rev": "2741b4b489b55df32afac57bc4bfd220e8bf617e",
+        "rev": "693bc46d169f5af9c992095736e82c3488bf7dbb",
         "type": "github"
       },
       "original": {
@@ -521,11 +503,11 @@
     },
     "nur": {
       "locked": {
-        "lastModified": 1719488730,
-        "narHash": "sha256-4LTpvjM/S6DMxl9Kb35tQ5Y70XVTULMTM5UprsngFMg=",
+        "lastModified": 1722883188,
+        "narHash": "sha256-IahHa5WnNaiY7UANpVPgEWhQ9Yha9AWVBzckEs4twFw=",
         "owner": "nix-community",
         "repo": "NUR",
-        "rev": "c2667e57412f53b38d19386ebf7f6f564e28febe",
+        "rev": "f80e85e5a4f92e6aee6fd09c1c704425b48e9f8b",
         "type": "github"
       },
       "original": {
@@ -536,18 +518,18 @@
     },
     "nuschtosSearch": {
       "inputs": {
-        "flake-utils": "flake-utils_3",
+        "flake-utils": "flake-utils_2",
         "nixpkgs": [
           "nixvim",
           "nixpkgs"
         ]
       },
       "locked": {
-        "lastModified": 1722772237,
-        "narHash": "sha256-3eCYmzeLngX8eutIsTZAG8DIvT/0DWQQxiszTQz8n0s=",
+        "lastModified": 1722493084,
+        "narHash": "sha256-ktjl908zZKWcGdMyz6kX1kHSg7LFFGPYBvTi9FgQleM=",
         "owner": "NuschtOS",
         "repo": "search",
-        "rev": "aa5f6246565cc9b1e697d2c9d6ed2c842b17fff6",
+        "rev": "3f5abffa5f28b4ac3c9212c81c5e8d2d22876071",
         "type": "github"
       },
       "original": {
@@ -579,11 +561,11 @@
         "nixpkgs": "nixpkgs_4"
       },
       "locked": {
-        "lastModified": 1719454714,
-        "narHash": "sha256-MojqG0lyUINkEk0b3kM2drsU5vyaF8DFZe/FAlZVOGs=",
+        "lastModified": 1722824458,
+        "narHash": "sha256-2k3/geD5Yh8JT1nrGaRycje5kB0DkvQA/OUZoel1bIU=",
         "owner": "oxalica",
         "repo": "rust-overlay",
-        "rev": "d1c527659cf076ecc4b96a91c702d080b213801e",
+        "rev": "a8a937c304e62a5098c6276c9cdf65c19a43b1a5",
         "type": "github"
       },
       "original": {
@@ -609,16 +591,16 @@
     },
     "systems_2": {
       "locked": {
-        "lastModified": 1681028828,
-        "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
+        "lastModified": 1689347949,
+        "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
         "owner": "nix-systems",
-        "repo": "default",
-        "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
+        "repo": "default-linux",
+        "rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68",
         "type": "github"
       },
       "original": {
         "owner": "nix-systems",
-        "repo": "default",
+        "repo": "default-linux",
         "type": "github"
       }
     },
@@ -675,11 +657,11 @@
         ]
       },
       "locked": {
-        "lastModified": 1719243788,
-        "narHash": "sha256-9T9mSY35EZSM1KAwb7K9zwQ78qTlLjosZgtUGnw4rn4=",
+        "lastModified": 1722330636,
+        "narHash": "sha256-uru7JzOa33YlSRwf9sfXpJG+UAV+bnBEYMjrzKrQZFw=",
         "owner": "numtide",
         "repo": "treefmt-nix",
-        "rev": "065a23edceff48f948816b795ea8cc6c0dee7cdf",
+        "rev": "768acdb06968e53aa1ee8de207fd955335c754b7",
         "type": "github"
       },
       "original": {
@@ -693,11 +675,11 @@
         "nixpkgs": "nixpkgs_5"
       },
       "locked": {
-        "lastModified": 1719887753,
-        "narHash": "sha256-p0B2r98UtZzRDM5miGRafL4h7TwGRC4DII+XXHDHqek=",
+        "lastModified": 1722330636,
+        "narHash": "sha256-uru7JzOa33YlSRwf9sfXpJG+UAV+bnBEYMjrzKrQZFw=",
         "owner": "numtide",
         "repo": "treefmt-nix",
-        "rev": "bdb6355009562d8f9313d9460c0d3860f525bc6c",
+        "rev": "768acdb06968e53aa1ee8de207fd955335c754b7",
         "type": "github"
       },
       "original": {
@@ -708,11 +690,11 @@
     },
     "unstable": {
       "locked": {
-        "lastModified": 1719254875,
-        "narHash": "sha256-ECni+IkwXjusHsm9Sexdtq8weAq/yUyt1TWIemXt3Ko=",
+        "lastModified": 1722630782,
+        "narHash": "sha256-hMyG9/WlUi0Ho9VkRrrez7SeNlDzLxalm9FwY7n/Noo=",
         "owner": "NixOS",
         "repo": "nixpkgs",
-        "rev": "2893f56de08021cffd9b6b6dfc70fd9ccd51eb60",
+        "rev": "d04953086551086b44b6f3c6b7eeb26294f207da",
         "type": "github"
       },
       "original": {
diff --git a/user/modules/vscode.nix b/user/modules/vscode.nix
index 6de9a70..0bf6137 100644
--- a/user/modules/vscode.nix
+++ b/user/modules/vscode.nix
@@ -37,7 +37,7 @@ in {
         # Editor
         vscodevim.vim
         pkgs.vscode-marketplace.miguelsolorio.min-theme
-        streetsidesoftware.code-spell-checker
+        pkgs.vscode-extensions.streetsidesoftware.code-spell-checker
         mkhl.direnv
 
         # Git

From 030cbaf9ba2b7d930b8c28def9ed87a15758f419 Mon Sep 17 00:00:00 2001
From: Michael Thomas <michaelhthomas@outlook.com>
Date: Mon, 5 Aug 2024 17:21:50 -0400
Subject: [PATCH 18/21] fix(nvim/luasnip): update to new settings schema

---
 pkgs/nvim/config/snippets/luasnip.nix | 8 ++------
 1 file changed, 2 insertions(+), 6 deletions(-)

diff --git a/pkgs/nvim/config/snippets/luasnip.nix b/pkgs/nvim/config/snippets/luasnip.nix
index 02d9ee0..2efb62d 100644
--- a/pkgs/nvim/config/snippets/luasnip.nix
+++ b/pkgs/nvim/config/snippets/luasnip.nix
@@ -1,11 +1,7 @@
-{
-  pkgs,
-  config,
-  ...
-}: {
+{pkgs, ...}: {
   plugins.luasnip = {
     enable = true;
-    extraConfig = {
+    settings = {
       enable_autosnippets = true;
       store_selection_keys = "<Tab>";
     };

From fb4a7ee2a3fea5283dc89b5db812d7686bf6c7e3 Mon Sep 17 00:00:00 2001
From: Michael Thomas <michaelhthomas@outlook.com>
Date: Thu, 8 Aug 2024 12:44:38 -0400
Subject: [PATCH 19/21] fix(nvim): make typescript vue work

---
 .../languages/typescript-tools-nvim.nix       |  5 +++-
 pkgs/nvim/config/lsp/lsp.nix                  | 25 ++++++++++++++++---
 pkgs/nvim/config/none-ls/none-ls.nix          |  1 +
 3 files changed, 26 insertions(+), 5 deletions(-)

diff --git a/pkgs/nvim/config/languages/typescript-tools-nvim.nix b/pkgs/nvim/config/languages/typescript-tools-nvim.nix
index 8134073..809cae4 100644
--- a/pkgs/nvim/config/languages/typescript-tools-nvim.nix
+++ b/pkgs/nvim/config/languages/typescript-tools-nvim.nix
@@ -1,6 +1,6 @@
 {
   plugins.typescript-tools = {
-    enable = true;
+    enable = false;
     onAttach = ''
       function(client, bufnr)
         client.server_capabilities.documentFormattingProvider = false
@@ -23,6 +23,9 @@
         includeInlayFunctionLikeReturnTypeHints = true;
         includeInlayEnumMemberValueHints = true;
       };
+      tsserverPlugins = [
+        "@vue/typescript-plugin"
+      ];
     };
   };
 
diff --git a/pkgs/nvim/config/lsp/lsp.nix b/pkgs/nvim/config/lsp/lsp.nix
index 59fc267..b89c90f 100644
--- a/pkgs/nvim/config/lsp/lsp.nix
+++ b/pkgs/nvim/config/lsp/lsp.nix
@@ -1,4 +1,8 @@
-{icons, ...}: {
+{
+  pkgs,
+  icons,
+  ...
+}: {
   plugins = {
     lsp-format = {
       enable = false; # Enable it if you want lsp-format integration for none-ls
@@ -26,8 +30,8 @@
         };
         nil-ls = {enable = true;};
         tsserver = {
-          enable = false;
-          filetypes = ["javascript" "javascriptreact" "typescript" "typescriptreact"];
+          enable = true;
+          filetypes = ["javascript" "javascriptreact" "typescript" "typescriptreact" "vue"];
           extraOptions = {
             settings = {
               javascript = {
@@ -53,10 +57,23 @@
                 };
               };
             };
+            init_options = {
+              plugins = [
+                {
+                  name = "@vue/typescript-plugin";
+                  location = "${pkgs.vue-language-server}/lib/node_modules/@vue/language-server";
+                  languages = ["javascript" "typescript" "vue"];
+                }
+              ];
+            };
           };
         };
         astro = {enable = true;};
-        volar = {enable = true;};
+        volar = {
+          enable = true;
+          package = pkgs.vue-language-server;
+          rootDir = ''require("lspconfig.util").root_pattern("src/App.vue")'';
+        };
         svelte = {enable = true;};
         eslint = {enable = true;};
         pyright = {enable = true;};
diff --git a/pkgs/nvim/config/none-ls/none-ls.nix b/pkgs/nvim/config/none-ls/none-ls.nix
index 9e3d8f9..1565a15 100644
--- a/pkgs/nvim/config/none-ls/none-ls.nix
+++ b/pkgs/nvim/config/none-ls/none-ls.nix
@@ -38,6 +38,7 @@
         };
         prettier = {
           enable = true;
+          disableTsServerFormatter = true;
         };
         google_java_format = {
           enable = true;

From eabc8c0582dd3b56b622afc947486f3fac9d88bc Mon Sep 17 00:00:00 2001
From: Michael Thomas <michaelhthomas@outlook.com>
Date: Fri, 9 Aug 2024 13:16:24 -0400
Subject: [PATCH 20/21] feat(nvim): add mdx language support

---
 pkgs/nvim/config/default.nix                  |  1 +
 pkgs/nvim/config/languages/treesitter/mdx.nix | 16 ++++++++++++++++
 2 files changed, 17 insertions(+)
 create mode 100644 pkgs/nvim/config/languages/treesitter/mdx.nix

diff --git a/pkgs/nvim/config/default.nix b/pkgs/nvim/config/default.nix
index 97e12fb..822da56 100644
--- a/pkgs/nvim/config/default.nix
+++ b/pkgs/nvim/config/default.nix
@@ -25,6 +25,7 @@
     ./languages/nvim-lint.nix
     ./languages/typescript-tools-nvim.nix
     ./languages/treesitter/treesitter.nix
+    ./languages/treesitter/mdx.nix
     ./languages/treesitter/treesitter-context.nix
     ./languages/treesitter/treesitter-textobjects.nix
     ./languages/treesitter/ts-autotag.nix
diff --git a/pkgs/nvim/config/languages/treesitter/mdx.nix b/pkgs/nvim/config/languages/treesitter/mdx.nix
new file mode 100644
index 0000000..81c6a9e
--- /dev/null
+++ b/pkgs/nvim/config/languages/treesitter/mdx.nix
@@ -0,0 +1,16 @@
+{
+  filetype.extension.mdx = "mdx";
+
+  plugins.treesitter.languageRegister.markdown = ["mdx"];
+
+  # Tree Sitter Grammar
+  extraFiles."queries/markdown/injections.scm" = ''
+    ; extends
+    ((inline) @injection.content
+      (#lua-match? @injection.content "^%s*import")
+      (#set! injection.language "typescript"))
+    ((inline) @injection.content
+      (#lua-match? @injection.content "^%s*export")
+      (#set! injection.language "typescript"))
+  '';
+}

From 98dc94d2a797fdf26e004b844182962cee5ca80e Mon Sep 17 00:00:00 2001
From: Michael Thomas <michaelhthomas@outlook.com>
Date: Fri, 9 Aug 2024 13:17:04 -0400
Subject: [PATCH 21/21] chore(nvim): upgrade eslint_d to v14 to support eslint
 v9

---
 pkgs/nvim/config/languages/nvim-lint.nix | 7 ++++++-
 pkgs/nvim/default.nix                    | 3 ++-
 2 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/pkgs/nvim/config/languages/nvim-lint.nix b/pkgs/nvim/config/languages/nvim-lint.nix
index f256d17..b0077a9 100644
--- a/pkgs/nvim/config/languages/nvim-lint.nix
+++ b/pkgs/nvim/config/languages/nvim-lint.nix
@@ -1,4 +1,8 @@
-{pkgs, ...}: {
+{
+  pkgs,
+  pkgsMaster,
+  ...
+}: {
   plugins.lint = {
     enable = true;
     lintersByFt = {
@@ -16,5 +20,6 @@
 
   extraPackages = with pkgs; [
     statix
+    pkgsMaster.eslint_d
   ];
 }
diff --git a/pkgs/nvim/default.nix b/pkgs/nvim/default.nix
index f5852fd..829d693 100644
--- a/pkgs/nvim/default.nix
+++ b/pkgs/nvim/default.nix
@@ -6,10 +6,11 @@
   inherit (pkgs) system;
   nixvim = inputs.nixvim.legacyPackages.${system};
   icons = import ./config/icons.nix;
+  pkgsMaster = inputs.master.legacyPackages.${system};
   nixvimModule = {
     pkgs = inputs.unstable.legacyPackages.${system};
     module = import ./config;
-    extraSpecialArgs = {inherit icons;};
+    extraSpecialArgs = {inherit icons pkgsMaster;};
   };
 in
   nixvim.makeNixvimWithModule nixvimModule