Compare commits
23 Commits
33808a120c
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
03ef37c25b
|
|||
|
42ab91df33
|
|||
|
95f49c0d05
|
|||
|
afff0c28b2
|
|||
|
f5ffc18de3
|
|||
|
bdaf004472
|
|||
|
e6ebf14016
|
|||
|
90c7861da6
|
|||
|
6cd9476375
|
|||
|
9d81be96db
|
|||
|
2b3c07474a
|
|||
|
1781b12fe0
|
|||
|
b5e6c9a784
|
|||
|
0056a90ec1
|
|||
|
bbfe9a3f84
|
|||
|
8a549152da
|
|||
|
f17931992e
|
|||
|
fb7d780956
|
|||
|
df09ca44ed
|
|||
|
4b95514065
|
|||
|
6e66fc7c11
|
|||
|
dc8221f6ca
|
|||
|
1994f0681c
|
39
README.md
Normal file
39
README.md
Normal file
@@ -0,0 +1,39 @@
|
||||
# neovim
|
||||
My NixVim-based Neovim config
|
||||
|
||||
## Gallery
|
||||

|
||||

|
||||

|
||||
|
||||
## Overview
|
||||
Configured using [NixVim](https://nix-community.github.io/nixvim/)<br>
|
||||
Color Scheme: [Tokyo Night](https://github.com/folke/tokyonight.nvim)<br>
|
||||
|
||||
## Plugins
|
||||
[dashboard](https://github.com/nvimdev/dashboard-nvim/)<br>
|
||||
[telescope](https://github.com/nvim-telescope/telescope.nvim)<br>
|
||||
[telescope-fzf-native](https://github.com/nvim-telescope/telescope-fzf-native.nvim)<br>
|
||||
[web-devicons](https://github.com/nvim-tree/nvim-web-devicons)<br>
|
||||
[lualine](https://github.com/nvim-lualine/lualine.nvim)<br>
|
||||
[neo-tree](https://github.com/nvim-neo-tree/neo-tree.nvim)<br>
|
||||
[neogit](https://github.com/NeogitOrg/neogit)<br>
|
||||
[gitsigns](https://github.com/lewis6991/gitsigns.nvim)<br>
|
||||
[tiny-inline-diagnostic](https://github.com/rachartier/tiny-inline-diagnostic.nvim)<br>
|
||||
[coq_nvim](https://github.com/ms-jpq/coq_nvim)<br>
|
||||
[nvim-autopairs](https://github.com/windwp/nvim-autopairs)<br>
|
||||
[Comment](https://github.com/numToStr/Comment.nvim)<br>
|
||||
[sleuth](https://github.com/tpope/vim-sleuth)<br>
|
||||
[rustaceanvim](https://github.com/mrcjkb/rustaceanvim)<br>
|
||||
[mkdnflow](https://github.com/jakewvincent/mkdnflow.nvim)<br>
|
||||
[hml](https://github.com/mawkler/hml.nvim)<br>
|
||||
[typst-preview](https://github.com/al-kot/typst-preview.nvim)<br>
|
||||
[Oil](https://github.com/stevearc/oil.nvim)<br>
|
||||
|
||||
### LSP
|
||||
[lspconfig](https://github.com/neovim/nvim-lspconfig/)<br>
|
||||
[typos-lsp](https://github.com/tekumara/typos-lsp)<br>
|
||||
[markdown_oxide](https://github.com/Feel-ix-343/markdown-oxide)<br>
|
||||
[ltex](https://valentjn.github.io/ltex/)<br>
|
||||
[nixd](https://github.com/nix-community/nixd)<br>
|
||||
[pyright](https://github.com/microsoft/pyright)<br>
|
||||
121
config.nix
121
config.nix
@@ -1,4 +1,4 @@
|
||||
{ pkgs, inputs, ... }:
|
||||
{ pkgs, lib, inputs, light ? false, ... }:
|
||||
{
|
||||
colorschemes.tokyonight.enable = true;
|
||||
|
||||
@@ -18,6 +18,10 @@
|
||||
|
||||
cindent = true;
|
||||
|
||||
# Same as default, but without "0#,", which prevents typing "#"
|
||||
# from going to the start of the line
|
||||
cinkeys = "0{,0},0),0],:,!^F,o,O,e";
|
||||
|
||||
signcolumn = "yes";
|
||||
};
|
||||
|
||||
@@ -41,6 +45,17 @@
|
||||
"╚═╝ ╚═══╝╚═╝╚═╝ ╚═╝ ╚═══╝ ╚═╝╚═╝ ╚═╝"
|
||||
""
|
||||
];
|
||||
|
||||
shortcut = [
|
||||
{
|
||||
action = {
|
||||
__raw = "function(path) vim.cmd('Telescope find_files') end";
|
||||
};
|
||||
desc = "Find Files";
|
||||
key = "f";
|
||||
icon = " ";
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
@@ -51,7 +66,17 @@
|
||||
keymaps = {
|
||||
"<C-f>" = "live_grep";
|
||||
"<C-p>" = "git_files";
|
||||
"<C-o>" = "find_files";
|
||||
"<C-o>" = "find_files no_ignore=true";
|
||||
};
|
||||
|
||||
settings = {
|
||||
defaults = {
|
||||
file_ignore_patterns = [
|
||||
"^.git/"
|
||||
"^target/"
|
||||
"^dist/"
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
extensions = {
|
||||
@@ -84,18 +109,22 @@
|
||||
|
||||
neo-tree = {
|
||||
enable = true;
|
||||
closeIfLastWindow = true;
|
||||
settings = {
|
||||
close_if_last_window = true;
|
||||
filesystem = {
|
||||
filteredItems = {
|
||||
filtered_items = {
|
||||
visible = true;
|
||||
hideDotfiles = false;
|
||||
hideGitignored = false;
|
||||
hide_dotfiles = false;
|
||||
hide_gItignored = false;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
neogit.enable = true;
|
||||
|
||||
gitsigns.enable = true;
|
||||
|
||||
tiny-inline-diagnostic = {
|
||||
enable = true;
|
||||
|
||||
@@ -110,7 +139,6 @@
|
||||
coq-nvim = {
|
||||
enable = true;
|
||||
installArtifacts = true;
|
||||
settings.auto_start = "shut-up";
|
||||
|
||||
luaConfig.post = ''
|
||||
vim.g.coq_settings = {
|
||||
@@ -123,11 +151,27 @@
|
||||
comment.enable = true;
|
||||
sleuth.enable = true;
|
||||
|
||||
rustaceanvim.enable = true;
|
||||
oil = {
|
||||
enable = true;
|
||||
settings = {
|
||||
default_file_explorer = false;
|
||||
};
|
||||
};
|
||||
|
||||
rustaceanvim = {
|
||||
enable = !light;
|
||||
settings = {
|
||||
server = {
|
||||
cmd = [ "${pkgs.rust-analyzer}/bin/rust-analyzer" ];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
mkdnflow = {
|
||||
enable = true;
|
||||
|
||||
settings = {
|
||||
mappings = {
|
||||
MkdnEnter = {
|
||||
key = "<CR>";
|
||||
@@ -135,9 +179,10 @@
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
lsp = {
|
||||
enable = true;
|
||||
enable = !light;
|
||||
|
||||
keymaps.diagnostic = {
|
||||
"<leader>j" = "goto_next";
|
||||
@@ -149,6 +194,16 @@
|
||||
markdown_oxide.enable = true;
|
||||
|
||||
ltex.enable = true;
|
||||
|
||||
# haskell-language-server
|
||||
hls = {
|
||||
enable = true;
|
||||
installGhc = false;
|
||||
};
|
||||
|
||||
pyright.enable = true;
|
||||
|
||||
nixd.enable = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
@@ -159,10 +214,12 @@
|
||||
src = inputs.hml;
|
||||
})
|
||||
|
||||
(pkgs.vimUtils.buildVimPlugin {
|
||||
(lib.mkIf (!light) (pkgs.vimUtils.buildVimPlugin {
|
||||
name = "typst-preview";
|
||||
src = inputs.typst-preview;
|
||||
})
|
||||
}))
|
||||
|
||||
(lib.mkIf (!light) pkgs.vimPlugins.haskell-tools-nvim)
|
||||
];
|
||||
|
||||
extraConfigLua = ''
|
||||
@@ -178,7 +235,29 @@
|
||||
poppler-utils # (pdfinfo)
|
||||
];
|
||||
|
||||
autoCmd = [
|
||||
{
|
||||
# Reset cinkeys when editing c/c++ files
|
||||
command = "setlocal cinkeys&";
|
||||
pattern = [
|
||||
"*.c"
|
||||
"*.h"
|
||||
"*.cpp"
|
||||
"*.hpp"
|
||||
];
|
||||
event = [
|
||||
"BufEnter"
|
||||
"BufWinEnter"
|
||||
];
|
||||
}
|
||||
];
|
||||
|
||||
keymaps = [
|
||||
{
|
||||
action = "<Cmd>nohl<CR>";
|
||||
key = "<Esc>";
|
||||
mode = [ "n" ];
|
||||
}
|
||||
{
|
||||
action = "<Cmd>Dashboard<CR>";
|
||||
key = "<leader>d";
|
||||
@@ -188,7 +267,15 @@
|
||||
key = "<leader>f";
|
||||
}
|
||||
{
|
||||
action = "<Cmd>sp<CR><Cmd>wincmd j<CR><Cmd>term<CR>15<C-w>-i";
|
||||
action = "<Cmd>Oil<CR>";
|
||||
key = "<leader>g";
|
||||
}
|
||||
{
|
||||
action = "<Cmd>Neogit<CR>";
|
||||
key = "<C-g>";
|
||||
}
|
||||
{
|
||||
action = "<Cmd>term<CR>i";
|
||||
key = "<leader>t";
|
||||
}
|
||||
{
|
||||
@@ -217,6 +304,16 @@
|
||||
action = "<Cmd>tabp<CR>";
|
||||
key = "<C-[>";
|
||||
}
|
||||
{
|
||||
action = "<C-\\><C-n><Cmd>tabn<CR>";
|
||||
key = "<C-]>";
|
||||
mode = [ "t" ];
|
||||
}
|
||||
{
|
||||
action = "<C-\\><C-n><Cmd>tabp<CR>";
|
||||
key = "<C-[>";
|
||||
mode = [ "t" ];
|
||||
}
|
||||
{
|
||||
action = "<Cmd>lua require(\"typst-preview\").start()<CR>";
|
||||
key = "<C-m>s";
|
||||
|
||||
113
flake.lock
generated
113
flake.lock
generated
@@ -8,11 +8,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1754487366,
|
||||
"narHash": "sha256-pHYj8gUBapuUzKV/kN/tR3Zvqc7o6gdFB9XKXIp1SQ8=",
|
||||
"lastModified": 1769996383,
|
||||
"narHash": "sha256-AnYjnFWgS49RlqX7LrC4uA+sCCDBj0Ry/WOJ5XWAsa0=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"rev": "af66ad14b28a127c5c0f3bbb298218fc63528a18",
|
||||
"rev": "57928607ea566b5db3ad13af0e57e921e6b12381",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -39,24 +39,6 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-utils_2": {
|
||||
"inputs": {
|
||||
"systems": "systems_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1731533236,
|
||||
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"hml": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
@@ -73,46 +55,18 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"ixx": {
|
||||
"inputs": {
|
||||
"flake-utils": [
|
||||
"nixvim",
|
||||
"nuschtosSearch",
|
||||
"flake-utils"
|
||||
],
|
||||
"nixpkgs": [
|
||||
"nixvim",
|
||||
"nuschtosSearch",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1754860581,
|
||||
"narHash": "sha256-EM0IE63OHxXCOpDHXaTyHIOk2cNvMCGPqLt/IdtVxgk=",
|
||||
"owner": "NuschtOS",
|
||||
"repo": "ixx",
|
||||
"rev": "babfe85a876162c4acc9ab6fb4483df88fa1f281",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NuschtOS",
|
||||
"ref": "v0.1.1",
|
||||
"repo": "ixx",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1755704039,
|
||||
"narHash": "sha256-gKlP0LbyJ3qX0KObfIWcp5nbuHSb5EHwIvU6UcNBg2A=",
|
||||
"lastModified": 1773821835,
|
||||
"narHash": "sha256-TJ3lSQtW0E2JrznGVm8hOQGVpXjJyXY2guAxku2O9A4=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "9cb344e96d5b6918e94e1bca2d9f3ea1e9615545",
|
||||
"rev": "b40629efe5d6ec48dd1efba650c797ddbd39ace0",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixos-25.05",
|
||||
"ref": "nixos-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
@@ -123,15 +77,14 @@
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
],
|
||||
"nuschtosSearch": "nuschtosSearch",
|
||||
"systems": "systems_3"
|
||||
"systems": "systems_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1755900473,
|
||||
"narHash": "sha256-UxpKQvD3dTT4/ueJBDccmHeHfnuUD+864Mzu8GPJZig=",
|
||||
"lastModified": 1772402258,
|
||||
"narHash": "sha256-3DmCFOdmbkFML1/G9gj8Wb+rCCZFPOQtNoMCpqOF8SA=",
|
||||
"owner": "nix-community",
|
||||
"repo": "nixvim",
|
||||
"rev": "18a1b5126f917fbcd65397b9ee429387fdbd51a6",
|
||||
"rev": "21ae25e13b01d3b4cdc750b5f9e7bad68b150c10",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -140,29 +93,6 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nuschtosSearch": {
|
||||
"inputs": {
|
||||
"flake-utils": "flake-utils_2",
|
||||
"ixx": "ixx",
|
||||
"nixpkgs": [
|
||||
"nixvim",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1755555503,
|
||||
"narHash": "sha256-WiOO7GUOsJ4/DoMy2IC5InnqRDSo2U11la48vCCIjjY=",
|
||||
"owner": "NuschtOS",
|
||||
"repo": "search",
|
||||
"rev": "6f3efef888b92e6520f10eae15b86ff537e1d2ea",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NuschtOS",
|
||||
"repo": "search",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"root": {
|
||||
"inputs": {
|
||||
"flake-utils": "flake-utils",
|
||||
@@ -202,29 +132,14 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"systems_3": {
|
||||
"locked": {
|
||||
"lastModified": 1681028828,
|
||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"typst-preview": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1755810917,
|
||||
"narHash": "sha256-hE5HPsuskOSqJ1KYp9/eCL5K90fRhMBe6t+skr+wyrI=",
|
||||
"lastModified": 1765797220,
|
||||
"narHash": "sha256-/zrxxTsw1R2phmTgW8fD8UWaMEMxNsYA3TYbmWQRGDw=",
|
||||
"owner": "al-kot",
|
||||
"repo": "typst-preview.nvim",
|
||||
"rev": "8759307163ef59698ff443e3784ad6a7af4ea484",
|
||||
"rev": "59028097432682e8f619ed61b24333c6e5f79a97",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
||||
13
flake.nix
13
flake.nix
@@ -1,6 +1,6 @@
|
||||
{
|
||||
inputs = {
|
||||
nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.05";
|
||||
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
||||
|
||||
flake-utils.url = "github:numtide/flake-utils";
|
||||
|
||||
@@ -35,6 +35,15 @@
|
||||
module = nixvimModule;
|
||||
extraSpecialArgs = {
|
||||
inherit inputs;
|
||||
light = false;
|
||||
};
|
||||
};
|
||||
|
||||
nvim-light = nixvim.legacyPackages.${system}.makeNixvimWithModule {
|
||||
module = nixvimModule;
|
||||
extraSpecialArgs = {
|
||||
inherit inputs;
|
||||
light = true;
|
||||
};
|
||||
};
|
||||
in
|
||||
@@ -45,6 +54,8 @@
|
||||
|
||||
packages.default = nvim;
|
||||
|
||||
packages.light = nvim-light;
|
||||
|
||||
packages.neovide = pkgs.stdenv.mkDerivation {
|
||||
name = "neovide";
|
||||
|
||||
|
||||
BIN
screenshots/01.png
Normal file
BIN
screenshots/01.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 261 KiB |
BIN
screenshots/02.png
Normal file
BIN
screenshots/02.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 453 KiB |
BIN
screenshots/03.png
Normal file
BIN
screenshots/03.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 104 KiB |
Reference in New Issue
Block a user