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