Commit Graph

151 Commits

Author SHA1 Message Date
Donovan Glover
c33ff6bd5e
feat(neovim): Add rainbow-delimiters.nvim
Rainbow parentheses were traditionally buggy with the plugins I used but
nowadays there are newer plugins available that use more flexible
technologies like treesitter.

See: https://github.com/hiphish/rainbow-delimiters.nvim
2024-04-01 15:04:33 -04:00
Donovan Glover
e236ab2dae
chore: Improve formatting 2024-03-30 11:30:33 -04:00
Donovan Glover
f1a5aa8520
neovim: Add border to nvim-lspconfig popups
This makes it easier to differentiate code from lsp popups.
2024-03-30 08:12:23 -04:00
Donovan Glover
ed0dec1e06
neovim: Add obsidian-nvim
Seems to be better than the last time I tried it.
2024-03-25 13:55:08 -04:00
Donovan Glover
a169b39f8c
packages: Drop alejandra
Not needed anymore since nixfmt-rfc-style exists.
2024-03-25 11:49:04 -04:00
Donovan Glover
1287f7dabc
chore: Fix formatting 2024-03-09 17:48:18 -05:00
Donovan Glover
a7877944f4
neovim: Prefer vista-vim over tagbar
Vista supports both ctags and nvim_lsp, letting it be used for
TypeScript and other languages not supported by default with ctags.
2024-03-09 11:52:41 -05:00
Donovan Glover
b438641363
neovim: Drop vim-endwise to fix crash with treesitter
Recent updates to neovim and/or its plugins made neovim start to crash
when typing curly braces like {}. I narrowed the issue down to vim-endwise,
which I no longer need since the current languages I use prefer curly
braces over end keywords.

Related: https://github.com/tpope/vim-endwise/issues/144
2024-03-08 22:31:43 -05:00
Donovan Glover
bfc5f5320f
meta: Replace nixfmt with nixfmt-rfc-style
This repository still uses nixpkgs-fmt but it may be interesting to use
nixfmt-rfc-style in the future.
2024-03-08 20:07:23 -05:00
Donovan Glover
d9f61cdad9
neovim: Drop cosco-vim
Didn't end up using the automatic semicolons nearly as much.
2024-03-08 19:58:58 -05:00
Donovan Glover
9ed00dbea0
neovim: Drop clipboard-image-nvim
Logseq is slow but convenient. Ultimately it probably makes sense to use
Logseq as it's "good enough" instead of trying to make a neovim setup
work (which is more suited for programming).
2024-03-07 21:59:32 -05:00
Donovan Glover
98a2ccf147
neovim: Use treesitter for astro/css over astro-vim
Improves syntax highlighting.
2024-02-28 07:33:25 -05:00
Donovan Glover
6d047a9567
chore: Update to latest nixos-unstable-small release
cargo-audit has been dropped to fix an issue with libgit2, which should
be fixed in 1-2 weeks or so. Additionally, nvim-base16 has been renamed
to base16-nvim, which is currently only recognized on -small.
2024-02-19 08:28:34 -05:00
Donovan Glover
17ebae09d3
neovim: Use language servers for html/css/json 2024-02-15 23:55:31 -05:00
Donovan Glover
f2ff938e79
chore: Remove unnecessary comments 2024-02-08 22:51:22 -05:00
Donovan Glover
69b7e09c31
chore: Use tailwindcss-colors-nvim from nixpkgs
No need to define this manually now that it's upstreamed.
2024-02-08 22:39:02 -05:00
Donovan Glover
74db7848f3
neovim: Only use treesitter highlighting for js/ts
Treesitter highlighting seems to be a downgrade in some cases, so I'm
okay with disabling it for most files.
2024-01-31 07:03:19 -05:00
Donovan Glover
852299de1a
neovim: Add docker language servers 2024-01-29 18:16:41 -05:00
Donovan Glover
e2d69c199d
Revert "neovim: Replace vim-nix-rummik with treesitter"
treesitter actually broke syntax highlighting for things like yaml, so I
prefer the rummik branch for now.
2024-01-17 21:24:50 -05:00
Donovan Glover
c4b766309d
neovim: Drop image-nvim for now
image-nvim is currently broken in nixpkgs, however it should be fixed
with an open pull request.
2024-01-13 00:30:35 -05:00
Donovan Glover
77b1715c2f
chore: Re-enable typst-lsp
Build is fixed now.
2024-01-12 07:21:13 -05:00
Donovan Glover
f42793623d
neovim: Replace vim-nix-rummik with treesitter
This was my attempt at replacing vim-nix-rummik with treesitter. Note
that there was actually a case where inline yaml wasn't highlighted at
all, so I'll probably stick to the tried and true vim-nix-rummik, even
if it has the parentheses bug with lua.
2024-01-12 04:29:19 -05:00
Donovan Glover
49cc04114e
neovim: Enable treesitter highlighting
This works, however some of the syntax highlighting with treesitter
feels worse compared to the default syntax highlighting, so it may be
more useful to keep it disabled.
2024-01-12 04:26:02 -05:00
Donovan Glover
1363c3800f
feat: Add cargo-edit
Used for the "cargo upgrade" command, which also updates the Cargo.toml.

Should eventually be upstreamed to cargo. Currently cargo-edit has some
issues with the index it uses, resulting in long loading times.

See: https://internals.rust-lang.org/t/feedback-on-cargo-upgrade-to-prepare-it-for-merging/17101
2024-01-05 23:02:11 -05:00
Donovan Glover
5c29be9a01
neovim: Make commenting work with jsx/tsx 2023-12-30 17:36:13 -05:00
Donovan Glover
d44114519a
neovim: Add tailwindcss-colors.nvim
May be upstreamed by https://github.com/NixOS/nixpkgs/pull/277632
2023-12-29 19:47:14 -05:00
Donovan Glover
859015cbc0
neovim: Add missing eslint capabilities 2023-12-29 17:56:32 -05:00
Donovan Glover
0c3624abd6
neovim: Add sql language server support 2023-12-29 17:54:56 -05:00
Donovan Glover
360898f626
neovim: Use eslint with nvim-lspconfig
Note that sometimes you may need to disable autosave with :ASToggle
since JavaScript code is also automatically formatted on save.
2023-12-29 17:33:52 -05:00
Donovan Glover
c77be65f86
feat: Add cargo-tarpaulin
Used for Rust code coverage.
2023-12-21 14:01:51 -05:00
Donovan Glover
5a08ca328c
neovim: Use yats-vim for TypeScript syntax highlighting
This fixes an issue where `import`s with `type` in them would cause
syntax highlighting to break in neovim.

See: https://github.com/vim/vim/issues/11652
2023-12-20 18:24:06 -05:00
Donovan Glover
7fde54fa58
neovim: Add nvim-surround
This classic plugin makes refactoring in languages that use curly braces
much easier.
2023-12-20 18:19:37 -05:00
Donovan Glover
328a912148
neovim: Use :NvimTreeFocus for <leader>a
Fixes an issue where the previous binding conflicted with the tagbar not
accepting space keybinds.
2023-12-20 18:16:19 -05:00
Donovan Glover
40adb9b3d9
neovim: Add cosco-vim
I tried this for a few days and although the auto-semicolons were cool,
they'd sometimes get in the way. I haven't used the keybind much at all
however, so I may remove this in the future.
2023-12-13 08:29:09 -05:00
Donovan Glover
5fb3f38f62
chore: Update flake inputs
Kernel version is now 6.1.67 to avoid the ext4 data corruption bug.

Additionally, typst-lsp had to be removed since it fails to build. No
solution has been posted in the GitHub issue yet.
2023-12-13 05:39:16 -05:00
Donovan Glover
91cd533c28
neovim: Fix nvim-cmp usage with denols/tsserver
This commit removes the duplicate setup {} commands.

It also fixes typst being set up without its respective settings.
2023-12-05 14:40:28 -05:00
Donovan Glover
c9e52534d2
chore: Update flake inputs
emmet-language-server is now in nixos-unstable.
2023-12-04 14:34:48 -05:00
Donovan Glover
90f5bd4b59
neovim: Remove denols from nvim-cmp capabilities
Fixes an issue where React would not be found in Next.js projects.
2023-12-03 16:46:55 -05:00
Donovan Glover
43ec993d49
neovim: Add tailwindcss language server support
Should make working with tailwindcss easier.
2023-12-03 16:27:37 -05:00
Donovan Glover
0920214e98
neovim: Add prisma language server support 2023-12-03 16:20:19 -05:00
Donovan Glover
0b68a42070
neovim: Enable nvim-cmp support for all language servers 2023-12-03 16:10:55 -05:00
Donovan Glover
bf3b794bcb
neovim: Replace emmet-ls with emmet-language-server
Note that emmet-language-server isn't in nixos-unstable yet.

See: https://github.com/NixOS/nixpkgs/pull/255524
2023-12-03 15:54:33 -05:00
Donovan Glover
98f0eaf336
neovim: Auto-close tags with nvim-ts-autotag
In the rare event that emmet isn't used, nvim-ts-autotag auto-closes
tags when > is typed.
2023-12-03 15:45:22 -05:00
Donovan Glover
9842004ba9
neovim: Add community snippets with friendly-snippets
This makes it easier to make for loops and other fun stuff.
2023-12-03 15:39:30 -05:00
Donovan Glover
93bd51bd35
neovim: Add Emmet support
I used Emmet years ago but at some point preferred Pug in Vue. Now that
I use React more, this should make creating tags in JSX easier.

The emmet language server is particularly useful since it becomes
possible to tab complete HTML tags.
2023-12-03 09:07:06 -05:00
Donovan Glover
afc0bcd1f1
neovim: Add autocompletion support with nvim-cmp
Did not expect this to work on the first try but it did. Taken directly
from the nvim-lspconfig wiki.

https://github.com/neovim/nvim-lspconfig/wiki/Autocompletion
2023-12-03 07:59:51 -05:00
Donovan Glover
3b5b6782ca
neovim: Add ctags support with tagbar
5 years later and ctags seem to work better, so I've decided to add them
again mainly for Rust.
2023-12-02 13:34:12 -05:00
Donovan Glover
cc1da27091
neovim: Add treesitter grammars
Fixes an issue with the markdown grammar not being found and adds some
extra features such as highlighting the current indentation line.
2023-10-31 23:45:25 -04:00
Donovan Glover
064b220d04
feat: Add cargo feature support
Makes it possible to check the features of crates.
2023-10-29 15:24:34 -04:00
Donovan Glover
44cc264f25
neovim: Add typst support
Typst documents may be more maintainable long-term than traditional
documents in TeX format.
2023-10-25 13:38:01 -04:00
Donovan Glover
a0bae642b1
neovim: Add svelte support 2023-10-10 18:23:27 -04:00
Donovan Glover
291e00f102
chore: Update flake inputs 2023-10-10 18:22:08 -04:00
Donovan Glover
25b159c9cf
nvim(image-nvim): Limit image width to 40% 2023-09-30 13:16:50 -04:00
Donovan Glover
5d12aaacb0
neovim: Conditionally load denols/tsserver
Makes it possible to use both Deno and Node/Bun projects with the same
config.
2023-09-30 11:08:37 -04:00
Donovan Glover
b8c3b2504f
feat: Add biome 2023-09-30 10:54:06 -04:00
Donovan Glover
7502a044e7
chore: Prefer hash over sha256 2023-09-30 10:39:10 -04:00
Donovan Glover
3a6c2f44ed
feat: Add bun
Will be trying out bun to see how it compares to deno and other tools.
2023-09-12 17:02:23 -04:00
Donovan Glover
5b58696de6
chore: Fix spacing 2023-08-29 21:00:47 -04:00
Donovan Glover
e6fa09220e
neovim(clipboard-image): Don't prompt for file name
Fixes an issue where this would occasionally break.
2023-08-22 14:53:06 -04:00
Donovan Glover
c1766e8aa8
neovim: Add texlive for vimtex 2023-08-19 22:16:15 -04:00
Donovan Glover
d7be8aad20
neovim: Add cargo audit/license
Should probably move this out of neovim later.
2023-08-06 16:53:50 -04:00
Donovan Glover
61be25469c
neovim: Add pnpm
May continue to use yarn in spite of this.
2023-08-01 16:26:15 -04:00
Donovan Glover
c231825512
neovim: Add cargo-info
As a reminder, the neovim module includes a bunch of additional stuff
used for development. Although convenient, another approach may be
considered in the future.
2023-08-01 12:33:35 -04:00
Donovan Glover
4e4ceeb6fb
feat(neovim): Highlight markdown code blocks
This adds syntax highlighting to code blocks with vim-markdown while
keeping pretty much everything else the same.
2023-08-01 12:16:02 -04:00
Donovan Glover
5f629bf0d6
fix(neovim): Manually toggle git blame
This fixes an issue where git blame would still show a single fixed line
in zen mode previously.
2023-08-01 12:14:24 -04:00
Donovan Glover
6991587294
neovim: Remove markdown conceal
Was causing more issues than problems it solved. Markdown conceal can be
successfully achieved with an external browser window.
2023-08-01 12:12:33 -04:00
Donovan Glover
075e1b6f13
neovim: Don't use tabs for markdown
Not needed since I don't edit logseq files directly nearly as often.
2023-08-01 12:11:19 -04:00
Donovan Glover
6c14b37a9f
neovim: Don't trim trailing whitespace on save
Fixes an issue where autosave would cause indentation to be lost due to
editorconfig removing extra whitespace.
2023-07-26 18:24:43 -04:00
Donovan Glover
b61e2ff951
neovim: Conceal markdown links without vim-markdown
This also conceals some other stuff like JSON strings, but seems to be
worth it overall.
2023-07-26 13:10:02 -04:00
Donovan Glover
d32d5e6c33
neovim(image-nvim): Decrease max width/height 2023-07-26 12:50:12 -04:00
Donovan Glover
1f80cd691e
neovim(clipboard-image-nvim): Customize image name 2023-07-26 10:02:17 -04:00
Donovan Glover
02f2a2bce4
neovim(clipboard-image-nvim): Change image directory 2023-07-26 10:01:10 -04:00
Donovan Glover
9ae34eb739
neovim: Add syntax highlighting to mdx files 2023-07-26 09:59:44 -04:00
Donovan Glover
3fa826e7a2
neovim: Add vim-astro 2023-07-26 09:57:17 -04:00
Donovan Glover
aa64667d78
neovim: Add clippy 2023-07-22 13:22:27 -04:00
Donovan Glover
5ec3ad510b
neovim: Add nvim-autopairs 2023-07-19 18:19:22 -04:00
Donovan Glover
baa4ca1362
neovim: Add astro-language-server 2023-07-19 13:21:11 -04:00
Donovan Glover
07bd6c6ed6
neovim: Add typescript-language-server 2023-07-19 11:26:16 -04:00
Donovan Glover
adf69e0d7c
chore: Remove unnecessary comments 2023-07-17 22:32:44 -04:00
Donovan Glover
9a8b25bb2c
neovim: Add image-nvim
image-nvim is a new neovim plugin similar to hologram.nvim that adds
support for inline images to neovim.
2023-07-17 22:18:40 -04:00
Donovan Glover
81a5a84d39
neovim: Remove hologram-nvim
Not needed anymore since I figured out how to get image-nvim working in
NixOS.
2023-07-17 20:25:45 -04:00
Donovan Glover
bddff06eca
neovim: Add hologram.nvim
For historical purposes, I am adding hologram.nvim in a commit, although
I should be able to replace this with image.nvim.
2023-07-15 21:45:32 -04:00
Donovan Glover
d367b44e60
neovim: Add clipboard-image-nvim
May need to configure this later.
2023-07-15 18:57:40 -04:00
Donovan Glover
d58fef7511
editorconfig: Don't trim markdown whitespace
Fixes an issue where auto-indents would be automatically removed with
the auto-save plugin enabled. Should probably fix this behavior later
so auto-indent works properly with all files.
2023-07-15 12:35:30 -04:00
Donovan Glover
526a9c7fe9
neovim: Add yuck-vim
Useful for reading eww files.
2023-07-15 12:32:55 -04:00
Donovan Glover
bad9f4cbf7
neovim(lualine): Don't show for nvim-tree 2023-07-11 07:58:33 -04:00
Donovan Glover
dc677d170c
neovim: Add zen-mode-nvim
zen-mode-nvim is a cool lua plugin similar to Goyo that makes reading
and writing long-form content in neovim easier.
2023-07-10 21:58:04 -04:00
Donovan Glover
244c1386a9
neovim: Revert conditional fcitx import
This actually had the side effect of not including fcitx-vim in all
cases.
2023-07-08 20:12:55 -04:00
Donovan Glover
62207c05fa
chore: Formatting
Also removes redundant comments.
2023-06-26 18:38:45 -04:00
Donovan Glover
a78151b9c5
neovim: Don't hardcode base16 theme 2023-06-25 20:25:20 -04:00
Donovan Glover
e0eb0b064d
neovim: Add make/cmake
Some rust libraries unironically require cmake in order to compile.
2023-06-22 14:39:54 -04:00
Donovan Glover
7316153e37
chore: Formatting 2023-06-22 11:30:32 -04:00
Donovan Glover
b05eecbdbf
neovim: Add pkg-config
Some programs require this in order to compile successfully.
2023-06-21 03:37:07 -04:00
Donovan Glover
ec418619ab
meta: Replace crystal-flake with nixpkgs-crystalline 2023-06-20 08:30:20 -04:00
Donovan Glover
92300c6d9d
fix(neovim): Fix npm package name 2023-06-19 16:19:24 -04:00
Donovan Glover
b7ed04d1a2
meta: Move shards to neovim config
The neovim config has everything I need for software development, so
having shards there makes sense.
2023-06-19 12:10:59 -04:00
Donovan Glover
72bd18dcfc
npm: Use home-manager package instead of nixos module
Now that I am able to understand and read NixOS/nixpkgs source code, I
understand that the usage of the npm module isn't needed since I don't
configure npm at a global level.
2023-06-19 04:00:50 -04:00
Donovan Glover
f9fdac4925
fix(neovim): Only import fcitx-vim if fcitx5 enabled
This fixes an issue where fcitx-vim would error on systems without
fcitx5 enabled.
2023-06-17 12:30:30 -04:00
Donovan Glover
47a8763fc9
Revert "neovim(nvim-tree): Highlight default.nix"
This actually makes the default.nix stand out a bit *too* much.
2023-06-16 14:18:55 -04:00
Donovan Glover
ce727de65b
neovim(nvim-tree): Highlight default.nix 2023-06-16 12:53:18 -04:00