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 = "plugins.tokyonight" },
|
||||
{ import = "plugins.telescope" },
|
||||
{ import = "plugins.lang.nix" },
|
||||
{ import = "plugins.lang.shell" },
|
||||
{ import = "plugins.misc.tmux-navigator" },
|
||||
{ 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"
|
||||
}
|
||||
},
|
||||
"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": {
|
||||
"locked": {
|
||||
"lastModified": 1710838473,
|
||||
"narHash": "sha256-RLvwdQSENKOaLdKhNie8XqHmTXzNm00/M/THj6zplQo=",
|
||||
"lastModified": 1711124224,
|
||||
"narHash": "sha256-l0zlN/3CiodvWDtfBOVxeTwYSRz93muVbXWSpaMjXxM=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "fa9f817df522ac294016af3d40ccff82f5fd3a63",
|
||||
"rev": "56528ee42526794d413d6f244648aaee4a7b56c0",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -37,6 +76,7 @@
|
||||
"root": {
|
||||
"inputs": {
|
||||
"flake-utils": "flake-utils",
|
||||
"neovim": "neovim",
|
||||
"nixpkgs": "nixpkgs"
|
||||
}
|
||||
},
|
||||
|
||||
82
flake.nix
82
flake.nix
@@ -3,78 +3,38 @@
|
||||
inputs = {
|
||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-23.11";
|
||||
flake-utils.url = "github:numtide/flake-utils";
|
||||
neovim = {
|
||||
url = "github:neovim/neovim/stable?dir=contrib";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
};
|
||||
outputs = inputs @ {
|
||||
self,
|
||||
nixpkgs,
|
||||
flake-utils,
|
||||
neovim,
|
||||
...
|
||||
}:
|
||||
flake-utils.lib.eachDefaultSystem (system: let
|
||||
pkgs = import nixpkgs {
|
||||
inherit system;
|
||||
overlayFlakeInputs = prev: final: {
|
||||
neovim = neovim.packages.${system}.neovim;
|
||||
};
|
||||
|
||||
recursiveMerge = attrList: let
|
||||
f = attrPath:
|
||||
builtins.zipAttrsWith (n: values:
|
||||
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)
|
||||
else if pkgs.lib.all pkgs.lib.isAttrs values
|
||||
then f (attrPath ++ [n]) values
|
||||
else pkgs.lib.last values);
|
||||
in
|
||||
f [] attrList;
|
||||
overlayLazyVim = prev: final: {
|
||||
lazyVim = import ./packages/lazyVim.nix {
|
||||
pkgs = final;
|
||||
};
|
||||
};
|
||||
|
||||
pkgs = import nixpkgs {
|
||||
inherit system;
|
||||
overlays = [overlayFlakeInputs overlayLazyVim];
|
||||
};
|
||||
in rec {
|
||||
dependencies = with pkgs; [
|
||||
ripgrep
|
||||
fd
|
||||
git
|
||||
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;
|
||||
packages.default = pkgs.lazyVim;
|
||||
apps.default = {
|
||||
type = "app";
|
||||
program = "${packages.default}/bin/nvim";
|
||||
};
|
||||
});
|
||||
}
|
||||
|
||||
@@ -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