dotfiles/home-manager/modules/common.nix

193 lines
3.7 KiB
Nix

{ config, lib, pkgs, ... }:
{
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
phpactor = pkgs.vimUtils.buildVimPlugin {
name = "phpactor";
src = pkgs.fetchFromGitHub {
owner = "phpactor";
repo = "phpactor";
rev = "master";
sha256 = "0bgfwidrlaqxnjmk14gqc8b0mxh0c5xf098qcjz9mvw236n88xl7";
};
};
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; [
vim-astro
comment-nvim
dial-nvim
git-worktree-nvim
gitsigns-nvim
harpoon
impatient-nvim
indent-blankline-nvim
neogit
nvim-web-devicons
refactoring-nvim
rest-nvim
splitjoin-vim
vim-abolish
vim-highlightedyank
vim-polyglot
vim-repeat
vim-surround
vim-test
vim-tmux-navigator
vimux
customVim.tabline-vim
# Debugging
nvim-dap
nvim-dap-ui
nvim-dap-virtual-text
# Treesitter
nvim-treesitter
nvim-treesitter-context
nvim-treesitter-textobjects
# LSP
null-ls-nvim
nvim-lspconfig
lsp-status-nvim
# Completion
cmp-buffer
cmp-cmdline
cmp-nvim-lsp
cmp-nvim-lsp-signature-help
cmp-path
cmp-tabnine
cmp-treesitter
cmp-vsnip
cmp_luasnip
lspkind-nvim
nvim-cmp
# Snippets
luasnip
# Telescope
plenary-nvim
popup-nvim
telescope-file-browser-nvim
telescope-fzf-native-nvim
telescope-nvim
telescope-ui-select-nvim
# Git
# neogit
# Databases
vim-dadbod
vim-dadbod-ui
vim-dadbod-completion
# Themes
catppuccin-nvim
nightfox-nvim
onehalf
];
};
home.sessionPath = [
"$HOME/.config/bin"
];
xdg.configFile.bin = {
source = ../../bin;
recursive = true;
};
xdg.configFile.nvim = {
source = ../../config/neovim;
recursive = true;
};
}