Commit Graph

171 Commits

Author SHA1 Message Date
Donovan Glover
6711f75a0c
base16-nvim: Downgrade from 2024-04-18 to 2024-02-17
This fixes an issue where syntax highlighting was fixed upstream, which
broke my workflow since I was using the changing colors of the plugin
to determine when the LSP was loaded in. I also liked how it syntax
highlighted valid identifiers a different color than invalid ones.

See: https://github.com/RRethy/base16-nvim/pull/96
2024-04-25 12:52:38 -04:00
Donovan Glover
39e5183013
chore: Simplify
Note that biome isn't needed since eslint is *the* industry standard.
2024-04-22 22:29:47 -04:00
Donovan Glover
0ea334ae81
neovim: Drop yats-vim
Apparently dropping "Yet Another TypeScript Syntax" makes the startup
time of Neovim about twice as fast. This was originally added to fix an
issue with "type" annotations in imports being incorrect, although this
appears to have been fixed now.

From a cursory glance, there seems to be no difference between yats-vim
and the treesitter syntax highlighting I use, so it should be fine to
drop this for the massive performance gains.
2024-04-21 07:55:49 -04:00
Donovan Glover
f91bf00256
chore: Remove redundant build tools from global environment
These *shouldn't* be needed since if a package requires these tools,
they'll have their own nix derivation.
2024-04-18 16:58:05 -04:00
Donovan Glover
fbb09fea48
neovim: Specify defaultEditor at the home-manager level
Does the same thing (with the exception of VISUAL not being set for now)
but makes the module more portable overall.
2024-04-18 13:44:25 -04:00
Donovan Glover
482c7a18e0
neovim: Use extraPackages for LSP packages
Prevents these packages from "polluting" the global namespace.
2024-04-18 12:49:14 -04:00
Donovan Glover
18e291822c
neovim: Drop plenary-nvim
This *shouldn't* be needed since it's a dependency of other vim plugins
and the dependency *should* automatically be handled at the nix level.
2024-04-18 11:02:00 -04:00
Donovan Glover
945bd13e4f
feat: Replace vim-nix-rummik with treesitter (again)
The latest treesitter changes actually make using it better than the old
vim-nix-rummik solution. Syntax highlighting works quite well for the
/* lang */ code blocks.
2024-04-18 10:53:17 -04:00
Donovan Glover
7f60479a90
chore: Run nix fmt
Also removed an unnecessary variable and added syntax highlighting.
2024-04-17 13:54:37 -04:00
Donovan Glover
ad97031749
feat: Drop Go from neovim config
I am no longer interested in programming in the Go programming language
and prefer the holy trinity that is Nix, TypeScript, and Rust.
2024-04-17 12:27:29 -04:00
Donovan Glover
5097231e2a
feat: Drop docker language servers
I am no longer interested in developing Dockerfiles or
docker-compose.yml files since I am fully committed to Nix.

By sticking with one technology that gets the job done, it should be
more efficient for me to solve problems with that one domain of
expertise than having mediocre knowledge of several similar tools.
2024-04-17 12:09:36 -04:00
Donovan Glover
763a233829
feat: Drop svelte from neovim config
The hype has died down and React has emerged victorious, as expected, in
a battle that never started.

Joking aside, I don't remember the last time I've seen a svelte app
and even if I *did* come across one, I'd much rather work with standard
file types like TypeScript and TSX, of which this neovim config has
first-class support for.
2024-04-17 11:48:24 -04:00
Donovan Glover
142cc4593d
neovim: Drop obsidian-nvim
Not sure why I added this but it seems like I have pretty great support
for markdown files without this, and I'd rather leverage my existing
toolkit of tools that do one thing and do it well.
2024-04-17 11:15:20 -04:00
Donovan Glover
941affa8df
neovim: Drop toggleterm-nvim
I never used this and just ended up creating new terminals with the
standard kitty workflow.
2024-04-17 11:13:51 -04:00
Donovan Glover
2cbcb8d7eb
neovim: Drop alpha-nvim startify
This was cute but I wasn't actually using it and it was increasing the
startup time of neovim by a whopping 600 milliseconds on average.
2024-04-16 20:49:40 -04:00
Donovan Glover
8535a06e52
chore: Improve formatting 2024-04-06 14:25:10 -04:00
Donovan Glover
7649c658b7
meta: Merge packages module into existing modules 2024-04-06 11:49:03 -04:00
Donovan Glover
e2e8971eb3
chore: Simplify variable usage
Changes made:

- Preferred "inherits" where possible
- Removed unnecessary comments
- Added variables to avoid duplicate strings
- Reduced usage of "with x;"
2024-04-05 13:30:39 -04:00
Donovan Glover
1d165d3068
neovim: Add syntax highlighting for glsl
Note that it may be easier to use treesitter highlighting by default.
2024-04-01 19:45:22 -04:00
Donovan Glover
d21ae69f39
chore: Fix formatting 2024-04-01 18:47:33 -04:00
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