129 lines
2.6 KiB
Nix
129 lines
2.6 KiB
Nix
{pkgs, ...}: {
|
|
home.sessionVariables = {
|
|
EDITOR = "hx";
|
|
ELECTRON_OZONE_PLATFORM_HINT = "wayland";
|
|
NIXOS_CONFIG = "/home/uzair/Documents/nixos-config";
|
|
};
|
|
|
|
programs.neovim = let
|
|
toLua = str: "lua << EOF\n${str}\nEOF\n";
|
|
toLuaFile = file: "lua << EOF\n${builtins.readFile file}\nEOF\n";
|
|
in {
|
|
enable = true;
|
|
plugins = with pkgs.vimPlugins; [
|
|
nvim-cmp
|
|
neoformat
|
|
rustaceanvim
|
|
telescope-fzf-native-nvim
|
|
cmp_luasnip
|
|
cmp-nvim-lsp
|
|
luasnip
|
|
friendly-snippets
|
|
nvim-web-devicons
|
|
vim-nix
|
|
copilot-vim
|
|
|
|
{
|
|
plugin = nvim-lspconfig;
|
|
config = toLuaFile ./nvimPlugins/lsp.lua;
|
|
}
|
|
|
|
{
|
|
plugin = comment-nvim;
|
|
config = toLua "require(\"Comment\").setup()";
|
|
}
|
|
|
|
{
|
|
plugin = catppuccin-nvim;
|
|
config = "colorscheme catppuccin-mocha";
|
|
}
|
|
|
|
{
|
|
plugin = telescope-nvim;
|
|
config = toLuaFile ./nvimPlugins/telescope.lua;
|
|
}
|
|
|
|
{
|
|
plugin = nvim-cmp;
|
|
config = toLuaFile ./nvimPlugins/cmp.lua;
|
|
}
|
|
|
|
{
|
|
plugin = lualine-nvim;
|
|
config = toLuaFile ./nvimPlugins/lualine.lua;
|
|
}
|
|
|
|
{
|
|
plugin = trouble-nvim;
|
|
# config = toLuaFile ./nvimPlugins/trouble.lua;
|
|
}
|
|
|
|
{
|
|
plugin = nvim-tree-lua;
|
|
config = toLuaFile ./nvimPlugins/tree.lua;
|
|
}
|
|
|
|
{
|
|
plugin = nvim-treesitter.withPlugins (p: [
|
|
p.tree-sitter-nix
|
|
p.tree-sitter-vim
|
|
p.tree-sitter-bash
|
|
p.tree-sitter-json
|
|
p.tree-sitter-yaml
|
|
p.tree-sitter-typescript
|
|
p.tree-sitter-toml
|
|
p.tree-sitter-sql
|
|
p.tree-sitter-rust
|
|
p.tree-sitter-markdown
|
|
p.tree-sitter-make
|
|
p.tree-sitter-java
|
|
p.tree-sitter-kotlin
|
|
p.tree-sitter-html
|
|
p.tree-sitter-fish
|
|
p.tree-sitter-css
|
|
p.tree-sitter-cpp
|
|
p.tree-sitter-cmake
|
|
p.tree-sitter-c-sharp
|
|
p.tree-sitter-c
|
|
]);
|
|
config = toLuaFile ./nvimPlugins/treesitter.lua;
|
|
}
|
|
];
|
|
|
|
extraLuaConfig = ''
|
|
${builtins.readFile ./nvimPlugins/other.lua}
|
|
'';
|
|
|
|
extraPackages = with pkgs; [
|
|
wl-clipboard
|
|
ripgrep
|
|
];
|
|
};
|
|
|
|
programs.helix = {
|
|
enable = true;
|
|
};
|
|
|
|
home.packages = with pkgs; [
|
|
# GUI code editors
|
|
kdePackages.kate
|
|
vscode.fhs
|
|
|
|
# Utilities
|
|
wget
|
|
unzip
|
|
|
|
# IDE
|
|
jetbrains.idea-ultimate
|
|
|
|
# nix language server
|
|
nixd
|
|
|
|
# nix formatter
|
|
alejandra
|
|
|
|
# something for fish lol
|
|
fasd
|
|
];
|
|
}
|