diff --git a/flake.lock b/flake.lock index d2414ef..18b52d9 100644 --- a/flake.lock +++ b/flake.lock @@ -82,6 +82,22 @@ "type": "github" } }, + "copilot-lua": { + "flake": false, + "locked": { + "lastModified": 1677479736, + "narHash": "sha256-n/SCrzzzL5WUHJk0sCXbgGusk/dQuy8DI9Pqdh+lVeQ=", + "owner": "zbirenbaum", + "repo": "copilot.lua", + "rev": "b41d4c9c7d4f5e0272bcf94061b88e244904c56f", + "type": "github" + }, + "original": { + "owner": "zbirenbaum", + "repo": "copilot.lua", + "type": "github" + } + }, "crane": { "inputs": { "flake-compat": [ @@ -813,6 +829,7 @@ "arkenfox-userjs": "arkenfox-userjs", "asus-touchpad-numpad-driver": "asus-touchpad-numpad-driver", "attic": "attic", + "copilot-lua": "copilot-lua", "emacs": "emacs", "flake-utils": "flake-utils_3", "forgit-git": "forgit-git", diff --git a/flake.nix b/flake.nix index 28c83f1..6a8b7d5 100644 --- a/flake.nix +++ b/flake.nix @@ -83,6 +83,11 @@ inputs.nixpkgs-stable.follows = "stable"; inputs.flake-utils.follows = "flake-utils"; }; + + copilot-lua = { + url = "github:zbirenbaum/copilot.lua"; + flake = false; + }; }; outputs = diff --git a/modules/programs/nvim/default.nix b/modules/programs/nvim/default.nix index 1d29b71..e7888e4 100644 --- a/modules/programs/nvim/default.nix +++ b/modules/programs/nvim/default.nix @@ -8,26 +8,6 @@ with lib; let cfg = config.my.programs.vim; - - mkDate = longDate: (lib.concatStringsSep "-" [ - (builtins.substring 0 4 longDate) - (builtins.substring 4 2 longDate) - (builtins.substring 6 2 longDate) - ]); - - mkVersionInput = input: mkDate (input.lastModifiedDate or "19700101") + "_" + (input.shortRev or "dirty"); - - nvim-treesitter-textsubjects = pkgs.vimUtils.buildVimPluginFrom2Nix { - pname = "nvim-treesitter-textsubjects"; - version = mkVersionInput inputs.nvim-treesitter-textsubjects; - src = inputs.nvim-treesitter-textsubjects; - }; - - smartcolumn-nvim = pkgs.vimUtils.buildVimPluginFrom2Nix { - pname = "smartcolumn-nvim"; - version = mkVersionInput inputs.smartcolumn-nvim; - src = inputs.smartcolumn-nvim; - }; in { options.my.programs.vim = { diff --git a/overlays/default.nix b/overlays/default.nix index ae2256c..960d029 100644 --- a/overlays/default.nix +++ b/overlays/default.nix @@ -1,4 +1,13 @@ -{ inputs }: final: prev: { +{ inputs }: final: prev: +let + mkDate = longDate: (prev.lib.concatStringsSep "-" [ + (builtins.substring 0 4 longDate) + (builtins.substring 4 2 longDate) + (builtins.substring 6 2 longDate) + ]); + mkVersionInput = input: "unstable" + mkDate (input.lastModifiedDate or "19700101") + "_" + (input.shortRev or "dirty"); +in +{ agenix = inputs.agenix.packages.${prev.system}.default; attic = inputs.attic.packages.${prev.system}.default; hyprpaper = inputs.hyprpaper.packages.${prev.system}.default; @@ -23,6 +32,25 @@ mesonFlags = old.mesonFlags or [ ] ++ [ "-Dexperimental=true" ]; }); + vimPlugins = prev.vimPlugins // { + nvim-treesitter-textsubjects = prev.vimUtils.buildVimPluginFrom2Nix { + pname = "nvim-treesitter-textsubjects"; + version = mkVersionInput inputs.nvim-treesitter-textsubjects; + src = inputs.nvim-treesitter-textsubjects; + }; + + smartcolumn-nvim = prev.vimUtils.buildVimPluginFrom2Nix { + pname = "smartcolumn-nvim"; + version = mkVersionInput inputs.smartcolumn-nvim; + src = inputs.smartcolumn-nvim; + }; + + copilot-lua = prev.vimPlugins.copilot-lua.overrideAttrs (old: { + version = mkVersionInput inputs.copilot-lua; + src = inputs.copilot-lua; + }); + }; + master = import inputs.master { inherit (prev) system; config.allowUnfree = true;