dotfiles/home-manager/modules/common.nix
Oliver Davies 373c824caf chore(nvim): add prefix to Vim plugin names
Make it easier to differentiate between Vim plugins that are available
in the Nix store and those that have been added and built manually.
2022-12-27 17:01:25 +00:00

177 lines
3.9 KiB
Nix

{ config, lib, pkgs, ... }:
let
in {
nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [
"intelephense"
"postman"
];
home.packages = with pkgs; [
bottom
ctop
delta
file
fzf
gcc
gh
git
git-crypt
just
tree-sitter
htop
jq
lua
mysql
neofetch
nodejs
php81
platformsh
postman
pulumi-bin
pv
ripgrep
terraform
tldr
tmuxinator
tree
unzip
wget
yarn
zoxide
# LSP
gopls
html-tidy
nodePackages."@ansible/ansible-language-server"
nodePackages."@tailwindcss/language-server"
nodePackages.bash-language-server
nodePackages.dockerfile-language-server-nodejs
nodePackages.eslint
nodePackages.intelephense
nodePackages.markdownlint-cli
nodePackages.prettier
nodePackages.typescript
nodePackages.typescript-language-server
nodePackages.vls
nodePackages.vscode-langservers-extracted
nodePackages.yaml-language-server
php81Packages.phpcbf
php81Packages.phpcs
php81Packages.phpstan
rnix-lsp
shellcheck
sumneko-lua-language-server
];
programs.bat.enable = true;
programs.neovim = {
enable = true;
plugins = let
customVim.vim-astro = pkgs.vimUtils.buildVimPlugin {
name = "vim-astro";
src = pkgs.fetchFromGitHub {
owner = "wuelnerdotexe";
repo = "vim-astro";
rev = "main";
sha256 = "HyQ4i/T1uQmGurBqCpo8+ESVSVPsTrLQBxLe2OEYjcY=";
};
};
customVim.tabline-vim = pkgs.vimUtils.buildVimPlugin {
name = "tabline-vim";
src = pkgs.fetchFromGitHub {
owner = "mkitt";
repo = "tabline.vim";
rev = "69c9698a3240860adaba93615f44778a9ab724b4";
sha256 = "51b8PxyKqBdeIvmmZyF2hpMBjkyrlZDdTB1opr5JZ7Y=";
};
};
in with pkgs; [
vimPlugins.comment-nvim
vimPlugins.dial-nvim
vimPlugins.git-worktree-nvim
vimPlugins.gitsigns-nvim
vimPlugins.harpoon
vimPlugins.impatient-nvim
vimPlugins.indent-blankline-nvim
vimPlugins.neogit
vimPlugins.nvim-web-devicons
vimPlugins.refactoring-nvim
vimPlugins.rest-nvim
vimPlugins.splitjoin-vim
vimPlugins.vim-abolish
vimPlugins.vim-highlightedyank
vimPlugins.vim-polyglot
vimPlugins.vim-repeat
vimPlugins.vim-surround
vimPlugins.vim-test
vimPlugins.vim-tmux-navigator
vimPlugins.vimux
customVim.vim-astro
customVim.tabline-vim
# Debugging
vimPlugins.nvim-dap
vimPlugins.nvim-dap-ui
vimPlugins.nvim-dap-virtual-text
# Treesitter
vimPlugins.nvim-treesitter
vimPlugins.nvim-treesitter-context
vimPlugins.nvim-treesitter-textobjects
# LSP
vimPlugins.null-ls-nvim
vimPlugins.nvim-lspconfig
vimPlugins.lsp-status-nvim
# Completion
vimPlugins.cmp-buffer
vimPlugins.cmp-cmdline
vimPlugins.cmp-nvim-lsp
vimPlugins.cmp-nvim-lsp-signature-help
vimPlugins.cmp-path
vimPlugins.cmp-tabnine
vimPlugins.cmp-treesitter
vimPlugins.cmp-vsnip
vimPlugins.cmp_luasnip
vimPlugins.lspkind-nvim
vimPlugins.nvim-cmp
# Snippets
vimPlugins.luasnip
# Telescope
vimPlugins.plenary-nvim
vimPlugins.popup-nvim
vimPlugins.telescope-file-browser-nvim
vimPlugins.telescope-fzf-native-nvim
vimPlugins.telescope-nvim
vimPlugins.telescope-ui-select-nvim
# Databases
vimPlugins.vim-dadbod
vimPlugins.vim-dadbod-ui
vimPlugins.vim-dadbod-completion
# Themes
vimPlugins.onedark-nvim
];
};
home.sessionPath = [
"$HOME/.config/bin"
];
xdg.configFile.bin = {
source = ../../bin;
recursive = true;
};
xdg.configFile.nvim = {
source = ../../config/neovim;
recursive = true;
};
}