Compare commits

...

2 commits

Author SHA1 Message Date
Geoffrey Frogeye eac22be095
No Ansible by default 2024-01-19 00:50:45 +01:00
Geoffrey Frogeye fdf6725dc9
vim: Configure fugitive-gitlab 2024-01-18 22:49:46 +01:00
5 changed files with 33 additions and 26 deletions

View file

@ -108,6 +108,7 @@
inv = invidious;
nixos = "https://search.nixos.org/options?channel=${config.home.version.release}&query={}";
nixpkgs = "https://search.nixos.org/packages?channel=${config.home.version.release}&query={}";
noogle = "https://noogle.dev/q?term={}";
npm = "https://www.npmjs.com/search?q={}";
os = nixos;
pkgs = nixpkgs;

View file

@ -52,9 +52,6 @@
gC = "commands";
gr = "lsp_references";
ge = "diagnostics";
# ga = "lsp_code_actions";
# gE = "lsp_workspace_diagnostics";
# TODO Above makes nvim crash on startup, action is not provided
gd = "lsp_definitions";
gs = "lsp_document_symbols";
};
@ -83,10 +80,6 @@
undotree.enable = true; # Navigate edition history
# Git
fugitive.enable = true; # Git basics
gitsigns.enable = true; # Show changed lines in the gutter
};
extraPlugins = with pkgs.vimPlugins; [
# Search/replace
@ -96,19 +89,6 @@
# Surrounding pairs
targets-vim # Better interaction with surrounding pairs
# Registers
registers-nvim # Show register content when pressing "
# TODO Doesn't work. Didn't work on Arch either
# Tags
vim-gutentags # Generate tags
symbols-outline-nvim # Show a symbol panel on the right
# TODO Fails on startup. Same on Arch. Config issue?
# Git
fugitive-gitlab-vim # Open files in GitLab
# TODO Connect it!
# Language-specific
tcomment_vim # Language-aware (un)commenting
] ++ lib.optionals config.frogeye.extra [
@ -117,7 +97,8 @@
vim-pandoc # Pandoc-specific stuff because there's no LSP for it
vim-pandoc-syntax
] ++ lib.optionals config.frogeye.dev.ansible [
ansible-vim # TODO Doesn't have snippets
ansible-vim
# Doesn't generate snippets, but those are for UltiSnip anyways
];
extraConfigLua = builtins.readFile ./symbols-outline-nvim.lua;
extraConfigVim = ''
@ -129,9 +110,6 @@
command Reload source $MYVIMRC
" PLUGINS
" vim-gutentags
let g:gutentags_cache_dir = expand('~/.cache/nvim/tags')
'' + lib.optionalString config.frogeye.extra ''
" languagetool
let g:languagetool_cmd = "${pkgs.languagetool}/bin/languagetool-commandline"
@ -189,6 +167,7 @@
./code.nix
./completion.nix
./decoration.nix
./git.nix
./lsp.nix
];
}

26
hm/vim/git.nix Normal file
View file

@ -0,0 +1,26 @@
{ pkgs, lib, config, ... }:
{
config = {
programs.nixvim = {
extraConfigVim = ''
let g:fugitive_gitlab_domains = [${
lib.strings.concatStringsSep ", " (
map (d: "'${d}'") config.frogeye.vim.fugitive.gitlab_domains
)}]
'';
extraPlugins = with pkgs.vimPlugins; [
fugitive-gitlab-vim # Open files in GitLab
];
plugins = {
fugitive.enable = true; # Git basics
gitsigns.enable = true; # Show changed lines in the gutter
};
};
};
options.frogeye.vim.fugitive = {
gitlab_domains = lib.mkOption {
default = { };
type = lib.types.listOf lib.types.str;
};
};
}

View file

@ -47,7 +47,6 @@
config = {
frogeye = {
dev = {
ansible = lib.mkDefault true;
python = lib.mkDefault true;
};
};

View file

@ -19,7 +19,9 @@
home-manager = {
users.geoffrey = { pkgs, ... }: {
frogeye = config.frogeye;
frogeye = lib.mkDefault config.frogeye;
# Propagating options that way doesn't seem to conserve priority info,
# this is not great. Hopefully mkDefault resolve conflicts.
};
# Makes VMs able to re-run
useUserPackages = true;