mirror of
https://github.com/ryan4yin/nix-config.git
synced 2026-07-09 22:22:40 +02:00
92 lines
2.1 KiB
Nix
92 lines
2.1 KiB
Nix
{ pkgs, astronvim, ... }:
|
|
|
|
# related folders:
|
|
# nvim's config: `~/.config/nvim`
|
|
# astronvim's user configuration: `$XDG_CONFIG_HOME/astronvim/lua/user`
|
|
# all plugins will be installed into(by lazy.nvim): `~/.local/share/nvim/`
|
|
# for details: https://astronvim.com/
|
|
{
|
|
xdg.configFile = {
|
|
# base config
|
|
"nvim" = {
|
|
# update AstroNvim
|
|
onChange = "${pkgs.neovim}/bin/nvim --headless +quitall";
|
|
source = astronvim;
|
|
};
|
|
# my cusotom astronvim config, astronvim will load it after base config
|
|
# https://github.com/AstroNvim/AstroNvim/blob/v3.32.0/lua/astronvim/bootstrap.lua#L15-L16
|
|
"astronvim/lua/user/init.lua" = {
|
|
# update AstroNvim
|
|
onChange = "${pkgs.neovim}/bin/nvim --headless +quitall";
|
|
source = ./astronvim_user_init.lua;
|
|
};
|
|
};
|
|
|
|
nixpkgs.config = {
|
|
programs.npm.npmrc = ''
|
|
prefix = ''${HOME}/.npm-global
|
|
'';
|
|
};
|
|
|
|
programs = {
|
|
neovim = {
|
|
enable = true;
|
|
defaultEditor = true;
|
|
|
|
viAlias = false;
|
|
vimAlias = true;
|
|
|
|
withPython3 = true;
|
|
withNodeJs = true;
|
|
extraPackages = [];
|
|
|
|
# currently we use lazy.nvim as neovim's package manager, so comment this one.
|
|
# plugins = with pkgs.vimPlugins;[
|
|
# search all the plugins using https://search.nixos.org/packages
|
|
# ];
|
|
};
|
|
};
|
|
home = {
|
|
packages = with pkgs; [
|
|
# -- Compiler -- #
|
|
gcc # c/c++ compiler, required by nvim-treesitter!
|
|
llvmPackages.clang-unwrapped # c/c++ tools with clang-tools such as clangd
|
|
zig
|
|
go
|
|
luajit
|
|
|
|
#-- LSP --#
|
|
nodePackages_latest.typescript
|
|
nodePackages_latest.typescript-language-server
|
|
nodePackages_latest.vscode-langservers-extracted
|
|
nodePackages_latest.bash-language-server
|
|
|
|
nil
|
|
# rnix-lsp
|
|
# nixd
|
|
|
|
lua-language-server
|
|
gopls
|
|
pyright
|
|
rust-analyzer
|
|
cargo # rust package manager
|
|
|
|
#-- tree-sitter --#
|
|
tree-sitter
|
|
|
|
#-- format --#
|
|
stylua
|
|
black
|
|
nixpkgs-fmt
|
|
rustfmt
|
|
beautysh
|
|
nodePackages.prettier
|
|
|
|
#-- Debug --#
|
|
gdb
|
|
lldb
|
|
];
|
|
};
|
|
|
|
}
|