mirror of
https://github.com/youwen5/neovim-flake.git
synced 2024-11-28 12:13:51 -08:00
Compare commits
4 commits
11b7a7943f
...
59189d88db
Author | SHA1 | Date | |
---|---|---|---|
59189d88db | |||
93a8dac2f2 | |||
91c08532a1 | |||
1b5e491ac9 |
11 changed files with 143 additions and 87 deletions
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
|
@ -0,0 +1 @@
|
||||||
|
result
|
|
@ -1,5 +1,10 @@
|
||||||
{pkgs, ...}: {
|
{ pkgs, ... }:
|
||||||
imports = [./plugins ./keymaps.nix ./init.nix];
|
{
|
||||||
|
imports = [
|
||||||
|
./plugins
|
||||||
|
./keymaps.nix
|
||||||
|
./init.nix
|
||||||
|
];
|
||||||
viAlias = true;
|
viAlias = true;
|
||||||
vimAlias = true;
|
vimAlias = true;
|
||||||
withNodeJs = true;
|
withNodeJs = true;
|
||||||
|
|
|
@ -278,22 +278,34 @@
|
||||||
{
|
{
|
||||||
action = "<Plug>(YankyPutAfter)";
|
action = "<Plug>(YankyPutAfter)";
|
||||||
key = "p";
|
key = "p";
|
||||||
mode = ["n" "x"];
|
mode = [
|
||||||
|
"n"
|
||||||
|
"x"
|
||||||
|
];
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
action = "<Plug>(YankyPutBefore)";
|
action = "<Plug>(YankyPutBefore)";
|
||||||
key = "P";
|
key = "P";
|
||||||
mode = ["n" "x"];
|
mode = [
|
||||||
|
"n"
|
||||||
|
"x"
|
||||||
|
];
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
action = "<Plug>(YankyGPutAfter)";
|
action = "<Plug>(YankyGPutAfter)";
|
||||||
key = "gp";
|
key = "gp";
|
||||||
mode = ["n" "x"];
|
mode = [
|
||||||
|
"n"
|
||||||
|
"x"
|
||||||
|
];
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
action = "<Plug>(YankyGPutBefore)";
|
action = "<Plug>(YankyGPutBefore)";
|
||||||
key = "gP";
|
key = "gP";
|
||||||
mode = ["n" "x"];
|
mode = [
|
||||||
|
"n"
|
||||||
|
"x"
|
||||||
|
];
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
action = ":Telescope yank_history<CR>";
|
action = ":Telescope yank_history<CR>";
|
||||||
|
|
|
@ -5,17 +5,27 @@
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
autoEnableSources = true;
|
autoEnableSources = true;
|
||||||
experimental = {ghost_text = true;};
|
experimental = {
|
||||||
|
ghost_text = true;
|
||||||
|
};
|
||||||
performance = {
|
performance = {
|
||||||
debounce = 60;
|
debounce = 60;
|
||||||
fetchingTimeout = 200;
|
fetchingTimeout = 200;
|
||||||
maxViewEntries = 30;
|
maxViewEntries = 30;
|
||||||
};
|
};
|
||||||
snippet = {expand = "luasnip";};
|
snippet = {
|
||||||
formatting = {fields = ["kind" "abbr" "menu"];};
|
expand = "luasnip";
|
||||||
|
};
|
||||||
|
formatting = {
|
||||||
|
fields = [
|
||||||
|
"kind"
|
||||||
|
"abbr"
|
||||||
|
"menu"
|
||||||
|
];
|
||||||
|
};
|
||||||
sources = [
|
sources = [
|
||||||
{name = "nvim_lsp";}
|
{ name = "nvim_lsp"; }
|
||||||
{name = "emoji";}
|
{ name = "emoji"; }
|
||||||
{
|
{
|
||||||
name = "buffer"; # text within current buffer
|
name = "buffer"; # text within current buffer
|
||||||
option.get_bufnrs.__raw = "vim.api.nvim_list_bufs";
|
option.get_bufnrs.__raw = "vim.api.nvim_list_bufs";
|
||||||
|
@ -33,8 +43,12 @@
|
||||||
];
|
];
|
||||||
|
|
||||||
window = {
|
window = {
|
||||||
completion = {border = "solid";};
|
completion = {
|
||||||
documentation = {border = "solid";};
|
border = "solid";
|
||||||
|
};
|
||||||
|
documentation = {
|
||||||
|
border = "solid";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
mapping = {
|
mapping = {
|
||||||
|
|
|
@ -1,3 +1,13 @@
|
||||||
{
|
{
|
||||||
imports = [./lsps.nix ./setup.nix ./formatters.nix ./cmp.nix ./qol.nix ./mini.nix ./misc.nix ./navigation.nix ./treesitter.nix];
|
imports = [
|
||||||
|
./lsps.nix
|
||||||
|
./setup.nix
|
||||||
|
./formatters.nix
|
||||||
|
./cmp.nix
|
||||||
|
./qol.nix
|
||||||
|
./mini.nix
|
||||||
|
./misc.nix
|
||||||
|
./navigation.nix
|
||||||
|
./treesitter.nix
|
||||||
|
];
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,14 +1,15 @@
|
||||||
# Code formatters
|
# Code formatters
|
||||||
{pkgs, ...}: {
|
{ pkgs, ... }:
|
||||||
|
{
|
||||||
extraPackages = with pkgs; [
|
extraPackages = with pkgs; [
|
||||||
# TS/JS
|
# TS/JS, Markdown, TOML, JSON, etc
|
||||||
nodePackages.prettier
|
nodePackages.prettier
|
||||||
|
|
||||||
# Rust
|
# Rust
|
||||||
rustfmt
|
rustfmt
|
||||||
|
|
||||||
# Nix
|
# Nix
|
||||||
alejandra
|
nixfmt-rfc-style
|
||||||
|
|
||||||
# Python
|
# Python
|
||||||
black
|
black
|
||||||
|
@ -20,7 +21,7 @@
|
||||||
haskellPackages.fourmolu
|
haskellPackages.fourmolu
|
||||||
|
|
||||||
# Misc
|
# Misc
|
||||||
codespell
|
# codespell
|
||||||
];
|
];
|
||||||
|
|
||||||
plugins.conform-nvim = {
|
plugins.conform-nvim = {
|
||||||
|
@ -31,14 +32,21 @@
|
||||||
lspFallback = true;
|
lspFallback = true;
|
||||||
};
|
};
|
||||||
formatters_by_ft = {
|
formatters_by_ft = {
|
||||||
lua = ["stylua"];
|
lua = [ "stylua" ];
|
||||||
python = ["black"];
|
python = [ "black" ];
|
||||||
nix = ["alejandra"];
|
nix = [ "nixfmt" ];
|
||||||
svelte = ["prettier"];
|
svelte = [ "prettier" ];
|
||||||
rust = ["rustfmt"];
|
rust = [ "rustfmt" ];
|
||||||
haskell = ["fourmolu"];
|
haskell = [ "fourmolu" ];
|
||||||
"*" = ["codespell"];
|
toml = [ "prettier" ];
|
||||||
"_" = ["trim_whitespace"];
|
json = [ "prettier" ];
|
||||||
|
markdown = [ "prettier" ];
|
||||||
|
yaml = [ "prettier" ];
|
||||||
|
html = [ "prettier" ];
|
||||||
|
javascript = [ "prettier" ];
|
||||||
|
typescript = [ "prettier" ];
|
||||||
|
# "*" = ["codespell"];
|
||||||
|
"_" = [ "trim_whitespace" ];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
# LSP setup
|
# LSP setup
|
||||||
{pkgs, ...}: {
|
{ pkgs, ... }:
|
||||||
|
{
|
||||||
extraPackages = with pkgs; [
|
extraPackages = with pkgs; [
|
||||||
rust-analyzer
|
rust-analyzer
|
||||||
lua-language-server
|
lua-language-server
|
||||||
|
|
|
@ -3,14 +3,14 @@
|
||||||
plugins.mini = {
|
plugins.mini = {
|
||||||
enable = true;
|
enable = true;
|
||||||
modules = {
|
modules = {
|
||||||
surround = {};
|
surround = { };
|
||||||
ai = {};
|
ai = { };
|
||||||
hipatterns = {};
|
hipatterns = { };
|
||||||
notify = {};
|
notify = { };
|
||||||
tabline = {};
|
tabline = { };
|
||||||
trailspace = {};
|
trailspace = { };
|
||||||
cursorword = {};
|
cursorword = { };
|
||||||
bracketed = {};
|
bracketed = { };
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
# Quality of life plugins
|
# Quality of life plugins
|
||||||
{pkgs, ...}: {
|
{ pkgs, ... }:
|
||||||
|
{
|
||||||
extraPackages = with pkgs; [
|
extraPackages = with pkgs; [
|
||||||
ripgrep
|
ripgrep
|
||||||
yazi
|
yazi
|
||||||
|
|
50
flake.lock
50
flake.lock
|
@ -40,11 +40,11 @@
|
||||||
"nixpkgs-lib": "nixpkgs-lib"
|
"nixpkgs-lib": "nixpkgs-lib"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1722555600,
|
"lastModified": 1725234343,
|
||||||
"narHash": "sha256-XOQkdLafnb/p9ij77byFQjDf5m5QYl9b2REiVClC+x4=",
|
"narHash": "sha256-+ebgonl3NbiKD2UD0x4BszCZQ6sTfL4xioaM49o5B3Y=",
|
||||||
"owner": "hercules-ci",
|
"owner": "hercules-ci",
|
||||||
"repo": "flake-parts",
|
"repo": "flake-parts",
|
||||||
"rev": "8471fe90ad337a8074e957b69ca4d0089218391d",
|
"rev": "567b938d64d4b4112ee253b9274472dc3a346eb6",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -109,11 +109,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1724440431,
|
"lastModified": 1724857454,
|
||||||
"narHash": "sha256-9etXEOUtzeMgqg1u0wp+EdwG7RpmrAZ2yX516bMj2aE=",
|
"narHash": "sha256-Qyl9Q4QMTLZnnBb/8OuQ9LSkzWjBU1T5l5zIzTxkkhk=",
|
||||||
"owner": "cachix",
|
"owner": "cachix",
|
||||||
"repo": "git-hooks.nix",
|
"repo": "git-hooks.nix",
|
||||||
"rev": "c8a54057aae480c56e28ef3e14e4960628ac495b",
|
"rev": "4509ca64f1084e73bc7a721b20c669a8d4c5ebe6",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -173,11 +173,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1724469941,
|
"lastModified": 1724561770,
|
||||||
"narHash": "sha256-+U5152FwmDD9EUOiFi5CFxCK6/yFESyDei9jEIlmUtI=",
|
"narHash": "sha256-zv8C9RNa86CIpyHwPIVO/k+5TfM8ZbjGwOOpTe1grls=",
|
||||||
"owner": "lnl7",
|
"owner": "lnl7",
|
||||||
"repo": "nix-darwin",
|
"repo": "nix-darwin",
|
||||||
"rev": "ea319a737939094b48fda9063fa3201ef2479aac",
|
"rev": "ac5694a0b855a981e81b4d9f14052e3ff46ca39e",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -188,11 +188,11 @@
|
||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1724224976,
|
"lastModified": 1725103162,
|
||||||
"narHash": "sha256-Z/ELQhrSd7bMzTO8r7NZgi9g5emh+aRKoCdaAv5fiO0=",
|
"narHash": "sha256-Ym04C5+qovuQDYL/rKWSR+WESseQBbNAe5DsXNx5trY=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "c374d94f1536013ca8e92341b540eba4c22f9c62",
|
"rev": "12228ff1752d7b7624a54e9c1af4b222b3c1073b",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -204,14 +204,14 @@
|
||||||
},
|
},
|
||||||
"nixpkgs-lib": {
|
"nixpkgs-lib": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1722555339,
|
"lastModified": 1725233747,
|
||||||
"narHash": "sha256-uFf2QeW7eAHlYXuDktm9c25OxOyCoUOQmh5SZ9amE5Q=",
|
"narHash": "sha256-Ss8QWLXdr2JCBPcYChJhz4xJm+h/xjl4G0c0XlP6a74=",
|
||||||
"type": "tarball",
|
"type": "tarball",
|
||||||
"url": "https://github.com/NixOS/nixpkgs/archive/a5d394176e64ab29c852d03346c1fc9b0b7d33eb.tar.gz"
|
"url": "https://github.com/NixOS/nixpkgs/archive/356624c12086a18f2ea2825fed34523d60ccc4e3.tar.gz"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"type": "tarball",
|
"type": "tarball",
|
||||||
"url": "https://github.com/NixOS/nixpkgs/archive/a5d394176e64ab29c852d03346c1fc9b0b7d33eb.tar.gz"
|
"url": "https://github.com/NixOS/nixpkgs/archive/356624c12086a18f2ea2825fed34523d60ccc4e3.tar.gz"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixvim": {
|
"nixvim": {
|
||||||
|
@ -229,11 +229,11 @@
|
||||||
"treefmt-nix": "treefmt-nix"
|
"treefmt-nix": "treefmt-nix"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1724528976,
|
"lastModified": 1725269752,
|
||||||
"narHash": "sha256-5W13nD/5ySIsxSvDqXHlj4bg2F3tNcYGKCGudWzpNzw=",
|
"narHash": "sha256-AtZ9fSo2q6UeMoDy6kw6solM1B+BCABbKgCyUclsctg=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "nixvim",
|
"repo": "nixvim",
|
||||||
"rev": "8234ee85eaa2c8b7f2c74f5b4cdf02c4965b07fc",
|
"rev": "18b7597e6ca4b98a6c3f20ddc9783165d5998018",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -251,11 +251,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1723969429,
|
"lastModified": 1724584782,
|
||||||
"narHash": "sha256-BuewfNEXEf11MIkJY+uvWsdLu1dIvgJqntWChvNdALg=",
|
"narHash": "sha256-7FfHv7b1jwMPSu9SPY9hdxStk8E6EeSwzqdvV69U4BM=",
|
||||||
"owner": "NuschtOS",
|
"owner": "NuschtOS",
|
||||||
"repo": "search",
|
"repo": "search",
|
||||||
"rev": "a05d1805f2a2bc47d230e5e92aecbf69f784f3d0",
|
"rev": "5a08d691de30b6fc28d58ce71a5e420f2694e087",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -294,11 +294,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1724338379,
|
"lastModified": 1724833132,
|
||||||
"narHash": "sha256-kKJtaiU5Ou+e/0Qs7SICXF22DLx4V/WhG1P6+k4yeOE=",
|
"narHash": "sha256-F4djBvyNRAXGusJiNYInqR6zIMI3rvlp6WiKwsRISos=",
|
||||||
"owner": "numtide",
|
"owner": "numtide",
|
||||||
"repo": "treefmt-nix",
|
"repo": "treefmt-nix",
|
||||||
"rev": "070f834771efa715f3e74cd8ab93ecc96fabc951",
|
"rev": "3ffd842a5f50f435d3e603312eefa4790db46af5",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
56
flake.nix
56
flake.nix
|
@ -8,12 +8,13 @@
|
||||||
flake-parts.url = "github:hercules-ci/flake-parts";
|
flake-parts.url = "github:hercules-ci/flake-parts";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = {
|
outputs =
|
||||||
nixvim,
|
{
|
||||||
flake-parts,
|
nixvim,
|
||||||
...
|
flake-parts,
|
||||||
} @ inputs:
|
...
|
||||||
flake-parts.lib.mkFlake {inherit inputs;} {
|
}@inputs:
|
||||||
|
flake-parts.lib.mkFlake { inherit inputs; } {
|
||||||
systems = [
|
systems = [
|
||||||
"x86_64-linux"
|
"x86_64-linux"
|
||||||
"aarch64-linux"
|
"aarch64-linux"
|
||||||
|
@ -21,27 +22,30 @@
|
||||||
"aarch64-darwin"
|
"aarch64-darwin"
|
||||||
];
|
];
|
||||||
|
|
||||||
perSystem = {
|
perSystem =
|
||||||
pkgs,
|
{
|
||||||
system,
|
pkgs,
|
||||||
...
|
system,
|
||||||
}: let
|
...
|
||||||
nixvimLib = nixvim.lib.${system};
|
}:
|
||||||
nixvim' = nixvim.legacyPackages.${system};
|
let
|
||||||
nixvimModule = {
|
nixvimLib = nixvim.lib.${system};
|
||||||
inherit pkgs;
|
nixvim' = nixvim.legacyPackages.${system};
|
||||||
module = import ./config;
|
nixvimModule = {
|
||||||
};
|
inherit pkgs;
|
||||||
nvim = nixvim'.makeNixvimWithModule nixvimModule;
|
module = import ./config;
|
||||||
in {
|
};
|
||||||
formatter = pkgs.alejandra;
|
nvim = nixvim'.makeNixvimWithModule nixvimModule;
|
||||||
checks = {
|
in
|
||||||
default = nixvimLib.check.mkTestDerivationFromNixvimModule nixvimModule;
|
{
|
||||||
};
|
formatter = pkgs.nixfmt-rfc-style;
|
||||||
|
checks = {
|
||||||
|
default = nixvimLib.check.mkTestDerivationFromNixvimModule nixvimModule;
|
||||||
|
};
|
||||||
|
|
||||||
packages = {
|
packages = {
|
||||||
default = nvim;
|
default = nvim;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue