feat: release lazyVim 1.0.0
This commit is contained in:
@@ -1 +1 @@
|
|||||||
result
|
result/
|
||||||
|
|||||||
9
config/default.nix
Normal file
9
config/default.nix
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
{pkgs}:
|
||||||
|
pkgs.stdenv.mkDerivation {
|
||||||
|
name = "nvim-config";
|
||||||
|
src = ./src;
|
||||||
|
installPhase = ''
|
||||||
|
mkdir -p $out/
|
||||||
|
cp -r . $out/
|
||||||
|
'';
|
||||||
|
}
|
||||||
1
config/src/lazygit/config.yml
Symbolic link
1
config/src/lazygit/config.yml
Symbolic link
@@ -0,0 +1 @@
|
|||||||
|
/usr/local/etc/xaked-nvim-lazygit-config.yml
|
||||||
1
config/src/lazygit/state.yml
Symbolic link
1
config/src/lazygit/state.yml
Symbolic link
@@ -0,0 +1 @@
|
|||||||
|
/usr/local/etc/xaked-nvim-lazygit-state.yml
|
||||||
1
config/src/nvim/lazy-lock.json
Symbolic link
1
config/src/nvim/lazy-lock.json
Symbolic link
@@ -0,0 +1 @@
|
|||||||
|
/usr/local/etc/xaked-nvim-lazy-lock.json
|
||||||
1
config/src/nvim/lazyvim.json
Symbolic link
1
config/src/nvim/lazyvim.json
Symbolic link
@@ -0,0 +1 @@
|
|||||||
|
/usr/local/etc/xaked-nvim-lazyvim.json
|
||||||
@@ -29,6 +29,7 @@ require("lazy").setup({
|
|||||||
{ import = "lazyvim.plugins.extras.ui.mini-animate" },
|
{ import = "lazyvim.plugins.extras.ui.mini-animate" },
|
||||||
{ import = "plugins.tokyonight" },
|
{ import = "plugins.tokyonight" },
|
||||||
{ import = "plugins.telescope" },
|
{ import = "plugins.telescope" },
|
||||||
|
{ import = "plugins.lang.nix" },
|
||||||
{ import = "plugins.lang.shell" },
|
{ import = "plugins.lang.shell" },
|
||||||
{ import = "plugins.misc.tmux-navigator" },
|
{ import = "plugins.misc.tmux-navigator" },
|
||||||
{ import = "plugins.undotree" },
|
{ import = "plugins.undotree" },
|
||||||
41
config/src/nvim/lua/plugins/lang/nix.lua
Normal file
41
config/src/nvim/lua/plugins/lang/nix.lua
Normal file
@@ -0,0 +1,41 @@
|
|||||||
|
return {
|
||||||
|
{
|
||||||
|
"stevearc/conform.nvim",
|
||||||
|
optional = true,
|
||||||
|
opts = {
|
||||||
|
formatters_by_ft = {
|
||||||
|
["nix"] = { "alejandra" },
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"neovim/nvim-lspconfig",
|
||||||
|
opts = {
|
||||||
|
servers = {
|
||||||
|
nixd = {},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"nvim-treesitter/nvim-treesitter",
|
||||||
|
opts = function(_, opts)
|
||||||
|
if type(opts.ensure_installed) == "table" then
|
||||||
|
vim.list_extend(opts.ensure_installed, {
|
||||||
|
"nix",
|
||||||
|
})
|
||||||
|
end
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"nvimtools/none-ls.nvim",
|
||||||
|
optional = true,
|
||||||
|
opts = function(_, opts)
|
||||||
|
local null_ls = require("null-ls")
|
||||||
|
opts.sources = vim.list_extend(opts.sources or {}, {
|
||||||
|
null_ls.builtins.code_actions.statix,
|
||||||
|
null_ls.builtins.diagnostics.statix,
|
||||||
|
null_ls.builtins.formatting.alejandra,
|
||||||
|
})
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
}
|
||||||
46
flake.lock
generated
46
flake.lock
generated
@@ -18,13 +18,52 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"flake-utils_2": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1667395993,
|
||||||
|
"narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=",
|
||||||
|
"owner": "numtide",
|
||||||
|
"repo": "flake-utils",
|
||||||
|
"rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "numtide",
|
||||||
|
"repo": "flake-utils",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"neovim": {
|
||||||
|
"inputs": {
|
||||||
|
"flake-utils": "flake-utils_2",
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"dir": "contrib",
|
||||||
|
"lastModified": 1703942320,
|
||||||
|
"narHash": "sha256-CcaBqA0yFCffNPmXOJTo8c9v1jrEBiqAl8CG5Dj5YxE=",
|
||||||
|
"owner": "neovim",
|
||||||
|
"repo": "neovim",
|
||||||
|
"rev": "8744ee8783a8597f9fce4a573ae05aca2f412120",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"dir": "contrib",
|
||||||
|
"owner": "neovim",
|
||||||
|
"ref": "stable",
|
||||||
|
"repo": "neovim",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1710838473,
|
"lastModified": 1711124224,
|
||||||
"narHash": "sha256-RLvwdQSENKOaLdKhNie8XqHmTXzNm00/M/THj6zplQo=",
|
"narHash": "sha256-l0zlN/3CiodvWDtfBOVxeTwYSRz93muVbXWSpaMjXxM=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "fa9f817df522ac294016af3d40ccff82f5fd3a63",
|
"rev": "56528ee42526794d413d6f244648aaee4a7b56c0",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -37,6 +76,7 @@
|
|||||||
"root": {
|
"root": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-utils": "flake-utils",
|
"flake-utils": "flake-utils",
|
||||||
|
"neovim": "neovim",
|
||||||
"nixpkgs": "nixpkgs"
|
"nixpkgs": "nixpkgs"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
82
flake.nix
82
flake.nix
@@ -3,78 +3,38 @@
|
|||||||
inputs = {
|
inputs = {
|
||||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-23.11";
|
nixpkgs.url = "github:nixos/nixpkgs/nixos-23.11";
|
||||||
flake-utils.url = "github:numtide/flake-utils";
|
flake-utils.url = "github:numtide/flake-utils";
|
||||||
|
neovim = {
|
||||||
|
url = "github:neovim/neovim/stable?dir=contrib";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
outputs = inputs @ {
|
outputs = inputs @ {
|
||||||
self,
|
self,
|
||||||
nixpkgs,
|
nixpkgs,
|
||||||
flake-utils,
|
flake-utils,
|
||||||
|
neovim,
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
flake-utils.lib.eachDefaultSystem (system: let
|
flake-utils.lib.eachDefaultSystem (system: let
|
||||||
pkgs = import nixpkgs {
|
overlayFlakeInputs = prev: final: {
|
||||||
inherit system;
|
neovim = neovim.packages.${system}.neovim;
|
||||||
};
|
};
|
||||||
|
|
||||||
recursiveMerge = attrList: let
|
overlayLazyVim = prev: final: {
|
||||||
f = attrPath:
|
lazyVim = import ./packages/lazyVim.nix {
|
||||||
builtins.zipAttrsWith (n: values:
|
pkgs = final;
|
||||||
if pkgs.lib.tail values == []
|
};
|
||||||
then pkgs.lib.head values
|
};
|
||||||
else if pkgs.lib.all pkgs.lib.isList values
|
|
||||||
then pkgs.lib.unique (pkgs.lib.concatLists values)
|
pkgs = import nixpkgs {
|
||||||
else if pkgs.lib.all pkgs.lib.isAttrs values
|
inherit system;
|
||||||
then f (attrPath ++ [n]) values
|
overlays = [overlayFlakeInputs overlayLazyVim];
|
||||||
else pkgs.lib.last values);
|
};
|
||||||
in
|
|
||||||
f [] attrList;
|
|
||||||
in rec {
|
in rec {
|
||||||
dependencies = with pkgs; [
|
packages.default = pkgs.lazyVim;
|
||||||
ripgrep
|
apps.default = {
|
||||||
fd
|
type = "app";
|
||||||
git
|
program = "${packages.default}/bin/nvim";
|
||||||
curl # needed to fetch titles from urls
|
|
||||||
wget
|
|
||||||
cargo
|
|
||||||
python311
|
|
||||||
python311Packages.pip
|
|
||||||
php82
|
|
||||||
php82Packages.composer
|
|
||||||
go
|
|
||||||
ruby
|
|
||||||
luarocks
|
|
||||||
nodejs
|
|
||||||
zulu #java11
|
|
||||||
fish
|
|
||||||
fzf
|
|
||||||
perl536
|
|
||||||
perl536Packages.CPAN
|
|
||||||
unzip
|
|
||||||
tree-sitter
|
|
||||||
gcc
|
|
||||||
gnumake
|
|
||||||
lazygit
|
|
||||||
];
|
|
||||||
neovim-augmented = recursiveMerge [
|
|
||||||
pkgs.neovim-unwrapped
|
|
||||||
{buildInputs = dependencies;}
|
|
||||||
];
|
|
||||||
packages.pwnvim = pkgs.wrapNeovim neovim-augmented {
|
|
||||||
viAlias = true;
|
|
||||||
vimAlias = true;
|
|
||||||
withNodeJs = false;
|
|
||||||
withPython3 = false;
|
|
||||||
withRuby = false;
|
|
||||||
extraMakeWrapperArgs = ''--prefix PATH : "${pkgs.lib.makeBinPath dependencies}" --set XDG_CONFIG_HOME "${self}"'';
|
|
||||||
};
|
|
||||||
apps.pwnvim = flake-utils.lib.mkApp {
|
|
||||||
drv = self.packages.${system}.pwnvim;
|
|
||||||
name = "pwnvim";
|
|
||||||
exePath = "/bin/nvim";
|
|
||||||
};
|
|
||||||
packages.default = packages.pwnvim;
|
|
||||||
apps.default = apps.pwnvim;
|
|
||||||
devShell = pkgs.mkShell {
|
|
||||||
buildInputs = with pkgs; [packages.pwnvim] ++ dependencies;
|
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1 +0,0 @@
|
|||||||
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
/tmp/state.yml
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
/opt/lazy-lock.json
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
/opt/lazyvim.json
|
|
||||||
12
packages/lazyVim.nix
Normal file
12
packages/lazyVim.nix
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
{pkgs}: let
|
||||||
|
config = import ../config {inherit pkgs;};
|
||||||
|
runtimeDeps = import ../runtimeDeps.nix {inherit pkgs;};
|
||||||
|
in
|
||||||
|
pkgs.wrapNeovim pkgs.neovim {
|
||||||
|
viAlias = true;
|
||||||
|
vimAlias = true;
|
||||||
|
withNodeJs = true;
|
||||||
|
withPython3 = true;
|
||||||
|
withRuby = false;
|
||||||
|
extraMakeWrapperArgs = ''--prefix PATH : "${pkgs.lib.makeBinPath runtimeDeps.dependencies}" --set XDG_CONFIG_HOME "${config}"'';
|
||||||
|
}
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
{
|
|
||||||
"$schema": "https://docs.renovatebot.com/renovate-schema.json"
|
|
||||||
}
|
|
||||||
28
runtimeDeps.nix
Normal file
28
runtimeDeps.nix
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
{pkgs}: {
|
||||||
|
dependencies = with pkgs; [
|
||||||
|
nixd # nix lsp
|
||||||
|
alejandra # nix formatter
|
||||||
|
statix # linter for nix
|
||||||
|
ripgrep
|
||||||
|
fd
|
||||||
|
git
|
||||||
|
curl # needed to fetch titles from urls
|
||||||
|
wget
|
||||||
|
cargo
|
||||||
|
php82
|
||||||
|
php82Packages.composer
|
||||||
|
go
|
||||||
|
ruby
|
||||||
|
luarocks
|
||||||
|
zulu #java11
|
||||||
|
fish
|
||||||
|
fzf
|
||||||
|
perl536
|
||||||
|
perl536Packages.CPAN
|
||||||
|
unzip
|
||||||
|
tree-sitter
|
||||||
|
gcc
|
||||||
|
gnumake
|
||||||
|
lazygit
|
||||||
|
];
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user