nix #11

Manually merged
geoffrey merged 113 commits from nix into main 2023-12-09 21:43:01 +01:00
8 changed files with 85 additions and 145 deletions
Showing only changes of commit f16367105d - Show all commits

View file

@ -16,20 +16,6 @@
" Theme " Theme
source ~/.config/vim/theme.vim source ~/.config/vim/theme.vim
" Status/tab lines
{% if variant == 'nvim' %}
{{ use_plugin('feline') }}
{% else %}
{{ use_plugin('airline') }}
{% endif %}
" Goto utilities
{% if variant == 'nvim' %}
{{ use_plugin('telescope') }}
{% else %}
{{ use_plugin('fzf') }}
{% endif %}
" Search/replace " Search/replace
{{ use_plugin('abolish') }} {{ use_plugin('abolish') }}
{{ use_plugin('easy_align') }} {{ use_plugin('easy_align') }}

View file

@ -1,15 +0,0 @@
{{ add_source('vim-airline/vim-airline') -}}
{{ add_source('vim-airline/vim-airline-themes') -}}
set noshowmode
set laststatus=2
let g:airline_powerline_fonts = 1
{% if variant != 'nvim' %}
let g:airline#extensions#tabline#enabled = 1
{% endif %}
let g:airline_section_a = airline#section#create(['mode'])
let g:airline_section_b = airline#section#create(['branch', 'hunks'])
" let g:airline_section_z = airline#section#create(['%B', '@', '%l', ':', '%c'])
let airline#extensions#languageclient#error_symbol = '✖ '
let airline#extensions#languageclient#warning_symbol = '⚠ '

View file

@ -1,36 +0,0 @@
{# Fuzzy matching for all kind of stuff #}
{{ add_source('junegunn/fzf', {'do': './install --bin'}) }}
{{ add_source('junegunn/fzf.vim') -}}
let g:fzf_layout = { 'down': '~40%' }
let g:fzf_colors =
\ { 'fg': ['fg', 'Normal'],
\ 'bg': ['bg', 'Normal'],
\ 'hl': ['fg', 'Comment'],
\ 'fg+': ['fg', 'CursorLine', 'CursorColumn', 'Normal'],
\ 'bg+': ['bg', 'CursorLine', 'CursorColumn'],
\ 'hl+': ['fg', 'Statement'],
\ 'info': ['fg', 'PreProc'],
\ 'border': ['fg', 'Ignore'],
\ 'prompt': ['fg', 'Conditional'],
\ 'pointer': ['fg', 'Exception'],
\ 'marker': ['fg', 'Keyword'],
\ 'spinner': ['fg', 'Label'],
\ 'header': ['fg', 'Comment'] }
let g:fzf_command_prefix = 'Fzf'
nmap gF :FzfFiles<CR>
nmap gf :FzfGFiles<CR>
nmap gb :FzfBuffers<CR>
nmap gL :FzfLines<CR>
nmap gl :FzfBLines<CR>
nmap gT :FzfTags<CR>
nmap gt :FzfBTags<CR>
nmap gm :FzfMarks<CR>
nmap gw :FzfWindows<CR>
nmap gh :FzfHistory<CR>
nmap gH :FzfHistory:<CR>
nmap gS :FzfHistory/<CR>
nmap gs :FzfSnippets<CR>
" TODO `gd` → go to tag matching selected word, or show a list with that
" of tags pre-filtered with that word

View file

@ -1,52 +0,0 @@
{{ add_source('nvim-telescope/telescope.nvim') -}}
{# Dependencies #}
{{ add_source('nvim-lua/popup.nvim') -}}
{{ add_source('nvim-lua/plenary.nvim') -}}
{# Extensions #}
{{ add_source('nvim-telescope/telescope-fzf-native.nvim', {'do': 'make'}) -}}
noremap gF <cmd>Telescope find_files<cr>
noremap gf <cmd>Telescope git_files<cr>
noremap gB <cmd>Telescope buffers<cr>
noremap gl <cmd>Telescope current_buffer_fuzzy_find<cr>
noremap gL <cmd>Telescope live_grep<cr>
noremap gT <cmd>Telescope tags<cr>
noremap gt <cmd>Telescope treesitter<cr>
noremap gm <cmd>Telescope marks<cr>
noremap gh <cmd>Telescope oldfiles<cr>
noremap gH <cmd>Telescope command_history<cr>
noremap gS <cmd>Telescope search_history<cr>
noremap gC <cmd>Telescope commands<cr>
noremap gr <cmd>Telescope lsp_references<cr>
noremap ga <cmd>Telescope lsp_code_actions<cr>
vnoremap ga <cmd>Telescope lsp_range_code_actions<cr>
noremap ge <cmd>Telescope lsp_document_diagnostics<cr>
noremap gE <cmd>Telescope lsp_workspace_diagnostics<cr>
noremap gd <cmd>Telescope lsp_definitions<cr>
noremap gs <cmd>Telescope lsp_document_symbols<cr>
lua << EOF
require('telescope').setup{
defaults = {
vimgrep_arguments = {
'rg',
'--color=never',
'--no-heading',
'--with-filename',
'--line-number',
'--column',
'--smart-case'
},
},
extensions = {
fzf = {
fuzzy = true, -- false will only do exact matching
override_generic_sorter = true, -- override the generic sorter
override_file_sorter = true, -- override the file sorter
case_mode = "smart_case", -- or "ignore_case" or "respect_case"
-- the default case_mode is "smart_case"
}
}
}
require('telescope').load_extension('fzf')
EOF

View file

@ -20,7 +20,6 @@
jq jq
universal-ctags universal-ctags
highlight highlight
ripgrep # For nvim's :Telescope live_grep
zeal-qt6 # Offline documentation zeal-qt6 # Offline documentation
# Docker # Docker

View file

@ -28,10 +28,59 @@ in
# Tabline # Tabline
barbar.enable = true; barbar.enable = true;
# Go to whatever
telescope = {
enable = true;
# FIXME Crashes nvim on startup, complaining about some keymap
# keymaps = {
# gF = "find_files";
# gf = "git_files";
# gB = "buffers";
# gl = "current_buffer_fuzzy_find";
# gL = "live_grep";
# gT = "tags";
# gt = "treesitter";
# gm = "marks";
# gh = "oldfiles";
# gH = "command_history";
# gS = "search_history";
# gC = "commands";
# gr = "lsp_references";
# ga = "lsp_code_actions";
# ge = "lsp_document_diagnostics";
# gE = "lsp_workspace_diagnostics";
# gd = "lsp_definitions";
# gs = "lsp_document_symbols";
# };
defaults = {
vimgrep_arguments = [
"${pkgs.ripgrep}/bin/rg"
"--color=never"
"--no-heading"
"--with-filename"
"--line-number"
"--column"
"--smart-case"
];
};
extensions.fzf-native = {
enable = true;
caseMode = "smart_case";
fuzzy = true;
overrideFileSorter = true;
overrideGenericSorter = true;
};
};
}; };
extraPlugins = with pkgs.vimPlugins; [ extraPlugins = with pkgs.vimPlugins; [
nvim-scrollview nvim-scrollview
# Status line
feline-nvim # TODO Abandonned. Maybe use lualine?
]; ];
extraConfigLua = "${builtins.readFile ./vim/feline.lua}";
# 23.11: Use keymaps, seems better # 23.11: Use keymaps, seems better
maps = { maps = {
# barbar # barbar

View file

@ -1,32 +1,33 @@
{# Customisable status line #} vim.cmd([[
{{ add_source('famiu/feline.nvim') -}}
set noshowmode set noshowmode
set laststatus=2 set laststatus=2
lua << EOF ]])
local base16_colors = require('base16-colorscheme').colors -- local base16_colors = require('base16-colorscheme').colors
-- FIXME Color setting doesn't work, see ./feline_test.vim for a reproducible use case
-- that works on Arch but not on Nix (with Plug stuff removed)
local vi_mode_utils = require('feline.providers.vi_mode') local vi_mode_utils = require('feline.providers.vi_mode')
local lsp = require('feline.providers.lsp') local lsp = require('feline.providers.lsp')
require('feline').setup({ require('feline').setup({
default_bg = 'base01', -- default_bg = 'base01',
default_fg = 'base04', -- default_fg = 'base04',
theme = { -- theme = {
base00 = base16_colors.base00, -- base00 = base16_colors.base00,
base01 = base16_colors.base01, -- base01 = base16_colors.base01,
base02 = base16_colors.base02, -- base02 = base16_colors.base02,
base03 = base16_colors.base03, -- base03 = base16_colors.base03,
base04 = base16_colors.base04, -- base04 = base16_colors.base04,
base05 = base16_colors.base05, -- base05 = base16_colors.base05,
base06 = base16_colors.base06, -- base06 = base16_colors.base06,
base07 = base16_colors.base07, -- base07 = base16_colors.base07,
base08 = base16_colors.base08, -- base08 = base16_colors.base08,
base09 = base16_colors.base09, -- base09 = base16_colors.base09,
base0A = base16_colors.base0A, -- base0A = base16_colors.base0A,
base0B = base16_colors.base0B, -- base0B = base16_colors.base0B,
base0C = base16_colors.base0C, -- base0C = base16_colors.base0C,
base0D = base16_colors.base0D, -- base0D = base16_colors.base0D,
base0E = base16_colors.base0E, -- base0E = base16_colors.base0E,
base0F = base16_colors.base0F, -- base0F = base16_colors.base0F,
}, -- },
components = { components = {
active = { active = {
{ {
@ -164,4 +165,3 @@ require('feline').setup({
}, },
} }
}) })
EOF

View file

@ -0,0 +1,9 @@
source ~/.config/vim/plug.vim
call plug#begin('~/.cache/nvim/plugged')
Plug 'RRethy/nvim-base16'
call plug#end()
colorscheme base16-solarized-dark
lua << EOF
a = require('base16-colorscheme').colors.base00
EOF