134 lines
2.7 KiB
Nix
134 lines
2.7 KiB
Nix
{ config, lib, pkgs, ... }:
|
|
{
|
|
nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [
|
|
"intelephense"
|
|
];
|
|
|
|
home.packages = with pkgs; [
|
|
bottom
|
|
ctop
|
|
delta
|
|
file
|
|
fzf
|
|
gcc
|
|
gh
|
|
git
|
|
git-crypt
|
|
just
|
|
tree-sitter
|
|
htop
|
|
jq
|
|
lua
|
|
neofetch
|
|
platformsh
|
|
pv
|
|
ripgrep
|
|
tldr
|
|
tmuxinator
|
|
tree
|
|
unzip
|
|
wget
|
|
zoxide
|
|
|
|
# LSP
|
|
# TODO: nodePackages."@ansible/ansible-language-server"
|
|
html-tidy
|
|
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
|
|
];
|
|
|
|
programs.bat.enable = true;
|
|
|
|
programs.neovim = {
|
|
enable = true;
|
|
plugins = with pkgs; [
|
|
vimPlugins.comment-nvim
|
|
vimPlugins.git-worktree-nvim
|
|
vimPlugins.gitsigns-nvim
|
|
vimPlugins.harpoon
|
|
vimPlugins.impatient-nvim
|
|
vimPlugins.neogit
|
|
vimPlugins.nvim-web-devicons
|
|
vimPlugins.refactoring-nvim
|
|
vimPlugins.rest-nvim
|
|
vimPlugins.vim-abolish
|
|
vimPlugins.vim-highlightedyank
|
|
vimPlugins.vim-polyglot
|
|
vimPlugins.vim-repeat
|
|
vimPlugins.vim-surround
|
|
vimPlugins.vim-test
|
|
|
|
# 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-path
|
|
vimPlugins.cmp-treesitter
|
|
vimPlugins.cmp-vsnip
|
|
vimPlugins.cmp_luasnip
|
|
vimPlugins.lspkind-nvim
|
|
vimPlugins.nvim-cmp
|
|
|
|
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
|
|
|
|
# Git
|
|
# vimPlugins.neogit
|
|
|
|
# Databases
|
|
vimPlugins.vim-dadbod
|
|
vimPlugins.vim-dadbod-ui
|
|
vimPlugins.vim-dadbod-completion
|
|
|
|
# Themes
|
|
vimPlugins.nightfox-nvim
|
|
];
|
|
};
|
|
|
|
home.sessionPath = [
|
|
"$HOME/.config/bin"
|
|
];
|
|
|
|
xdg.configFile.bin = {
|
|
source = ../../../bin;
|
|
recursive = true;
|
|
};
|
|
|
|
xdg.configFile.nvim = {
|
|
source = ../../../config/neovim;
|
|
recursive = true;
|
|
};
|
|
}
|